AVPlayer播放SKVideoNode视频,我只是无法控制播放

时间:2014-10-24 03:36:13

标签: sprite-kit avplayer skvideonode

我正在使用SpriteKit播放视频,这是我从AVPlayer创建SKVideoNode的代码:

    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 个答案:

答案 0 :(得分:1)

无缘无故。您无法使用AVPlayer来控制SKVideoNode的播放或暂停。但您可以通过AVPlayer控制监视其播放状态。

要播放或暂停SKVideoNode,您必须使用

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