基本的に SKVideoNode は AVPlayer のレートを尊重しません。
デフォルトでは、SKVideoNode には再生レートを制御する方法がありません。ただし、SKVideoNode は AVPlayer (それ自体に AVPlayerItem が含まれています) で初期化できます。この 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()
}
player!.rate = 0.25 をどこに追加しても変わりません。