基本上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,它永远不会改变。
答案 0 :(得分:1)
- 更新 这是Apple API问题,它已在iOS 10版本中修复。