【问题标题】:AVPlayer play SKVideoNode video ,I just can not control the playbackAVPlayer 播放 SKVideoNode 视频,我就是无法控制播放
【发布时间】:2014-10-24 03:36:13
【问题描述】:

我正在使用 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)

我也可以看到第一帧。并且不能再运行了。

是不是我做错了什么?帮我!非常感谢。

【问题讨论】:

  • 我也遇到了同样/类似的问题。每当我用 AVPlayer 初始化 SKVideoNode 时,它​​只显示第一帧,播放“什么都不做”。如果使用 videoNodeWithVideoFileNamed 启动 SKVideoNode,可以播放视频,但不幸的是我们无法真正控制播放。

标签: sprite-kit avplayer skvideonode


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多