我正在使用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“函数中的"video”,它可以播放。
另一个:如果我使用这个代码“
skView.presentScene(scene01)
//self.view.addSubview(skView)(第二条注释)和用户"player.play()“它可以播放(我可以听到声音)。但是如果我使用这个:
skView.presentScene(scene01)
self.view.addSubview(skView)我也可以看到第一个frame.and不能再运行了。
我是不是做错了什么?帮帮我!非常感谢。
发布于 2015-09-17 15:34:46
无缘无故。您不能使用AVPlayer来控制SKVideoNode的播放或暂停。但是你可以通过AVPlayer控制监控它的播放状态。
要播放或暂停SKVideoNode,您必须使用
video.play() / video.pause() // (video you declared here is the instance of SKVideoNode)
https://stackoverflow.com/questions/26541073
复制相似问题