首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AVPlayer播放SKVideoNode视频,我就是控制不了播放

AVPlayer播放SKVideoNode视频,我就是控制不了播放
EN

Stack Overflow用户
提问于 2014-10-24 11:36:13
回答 1查看 1.1K关注 0票数 2

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

代码语言:javascript
复制
    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,给出了这个函数:

代码语言:javascript
复制
        let scene01 = GameScene(size: view.bounds.size)
    scene01.CreateVideoViewWithAVPlayer(player!)

但是当我调用"player.play()“时,我只显示第一帧,不再显示。但是如果我使用"CreateVideoViewWithAVPlayer“函数中的"video”,它可以播放。

另一个:如果我使用这个代码“

代码语言:javascript
复制
        skView.presentScene(scene01)
       //self.view.addSubview(skView)

(第二条注释)和用户"player.play()“它可以播放(我可以听到声音)。但是如果我使用这个:

代码语言:javascript
复制
           skView.presentScene(scene01)
       self.view.addSubview(skView)

我也可以看到第一个frame.and不能再运行了。

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

EN

回答 1

Stack Overflow用户

发布于 2015-09-17 15:34:46

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

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

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26541073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档