【发布时间】: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