AVPlayer воспроизводит видео SKVideoNode, я просто не могу контролировать воспроизведение

Я использую SpriteKit для воспроизведения видео, это мой код для создания SKVideoNode из AVPlayer:

    func CreateVideoViewWithAVPlayer(player:AVPlayer)
{
    video = SKVideoNode(AVPlayer: player)
    let frameLayer=AVPlayerLayer(player: player)
    //video?. = CGRectMake(0, 0, 100, 100)
    video?.size = CGSize(width: 1024, height: 768)
    println(player.currentItem)

    video?.anchorPoint = CGPoint(x: 0, y: 0)
    video?.position = CGPoint(x: 0, y: 0)

    backgroundColor = SKColor.blackColor()
    self.addChild(video!)
}

И я создаю AVPlayer дать функцию:

        let scene01 = GameScene(size: view.bounds.size)
    scene01.CreateVideoViewWithAVPlayer(player!)

Но когда я называю это "player.play()", я просто показываю первый кадр и больше не собираюсь. но если я использую "видео" в функции "CreateVideoViewWithAVPlayer", он может воспроизводиться.

Другое: если я использую этот код

        skView.presentScene(scene01)
       //self.view.addSubview(skView)

(Комментирует второе). И пользователь "player.play ()" может играть (я слышу звук). Но если я использую это:

           skView.presentScene(scene01)
       self.view.addSubview(skView)

Я тоже вижу первый кадр. И больше не могу бегать.

Что-то я делаю не так? Помоги мне! Большое спасибо.

1 ответ

Без причины. Вы просто не можете использовать AVPlayer для управления воспроизведением или паузой SKVideoNode. но вы можете контролировать его состояние воспроизведения через AVPlayer.

Чтобы воспроизвести или приостановить SKVideoNode, вы должны использовать

video.play() / video.pause() // (video you declared here is the instance of SKVideoNode)

Другие вопросы по тегам