1

私はSKVideoNodeを持っています。

let path = "videoURL";
let url = NSURL(string: path);
let asset = AVURLAsset(URL: url!,options: nil);
let playerItem = AVPlayerItem(asset: asset);
let playerThree = AVPlayer(playerItem: playerItem);
let videoNode = SKVideoNode(AVPlayer: playerThree);

ボタンを押して一時停止したい場合、ボタンは次のようになります-

var isPausedThreeSixty : Bool = false;

@IBAction func threesixty(sender: AnyObject){
    if (videoPlayer == 1) { // check if video player is the 360 videoplayer
        if(isPausedThreeSixty == false){ //check if video is paused, if not pause video on click
            videoNode?.pause(); // pause video node
            print("pause player");
            isPausedThreeSixty == true;
        }else{ //if app runs else, video is paused, proceed to unpause.
            videoNode?.play();
            print("play player");
            isPausedThreeSixty = false;
        }
    }
}

私のコードはpause playerand を出力しますplay playerが、ビデオを一時停止しません。代わりに AVPlayer を一時停止する必要があることも読みましたがplayerThree.pause();、ビデオを呼び出しても一時停止していません。

参照 - iOS スプライト キット SKVideoNode でビデオの再生を制御するにはどうすればよいですか?

AVPlayer play SKVideoNode video 、再生を制御できません

.pause複数の SO の回答が、SKVideoNode の呼び出しが機能すると言っているのはなぜですか.play。それを実装しても実際には機能しません。

このビデオを一時停止した後、新しいビデオ プレーヤーにスワップできるようにしたいのですが、うまくいきました。ただ、このビデオ プレーヤーを削除または一時停止することはできません。

参照 - https://forums.developer.apple.com/thread/28470 この投稿によると、AVPlayer レートが上書きされているため、SKVideoNode を一時停止できません。

4

1 に答える 1

1

AVPlayerItem を一時停止する必要があったので -

playerThree.pause();

トリックをしました。

于 2016-03-30T13:10:05.173 に答える