我正在使用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)
我也可以看到第一帧。不能再跑了。
我做的事情是错的吗?帮我!非常感谢。
答案 0 :(得分:1)
无缘无故。您无法使用AVPlayer来控制SKVideoNode的播放或暂停。但您可以通过AVPlayer控制监视其播放状态。
要播放或暂停SKVideoNode,您必须使用
video.play() / video.pause() // (video you declared here is the instance of SKVideoNode)