SKVideoNode帧速率

时间:2016-09-29 02:30:28

标签: swift sprite-kit avplayer skvideonode

基本上SKVideoNode不会尊重AVPlayer的费率。

默认情况下,SKVideoNode无法控制播放速率。但是,可以使用AVPlayer(其本身包含AVPlayerItem)初始化SKVideoNode。该AVPlayer的属性率可以在0到2之间变化(1是正常速度)。还有方法setRate:time:atHostTime:。

所以费率不起作用。你有同样的问题吗? 如果没有办法解决这个问题?还有另一种播放视频并改变SKScene中帧速率的方法吗?

func setupVideo() {
    // play video
    let urlStr = NSBundle.mainBundle().pathForResource("sample", ofType: "mp4")
    let url = NSURL(fileURLWithPath: urlStr!)

    player = AVPlayer(URL: url)

    videoNode = SKVideoNode(AVPlayer: player!)
    videoNode?.position = CGPointMake(frame.size.width/2, frame.size.height/2)
    videoNode?.size = CGSize(width: frame.size.width, height: frame.size.height)
    videoNode?.zPosition = 1
    addChild(videoNode!)

    player!.rate = 0.25
    videoNode!.play()


}

添加播放器的位置并不重要!.rate = 0.25,它永远不会改变。

1 个答案:

答案 0 :(得分:1)

- 更新 这是Apple API问题,它已在iOS 10版本中修复。