2

基本的に 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 をどこに追加しても変わりません。

4

1 に答える 1

2

-- UPDATE これは Apple API の問題で、iOS 10 バージョンで修正されました。

于 2016-10-25T18:57:59.040 に答える