私は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 player
and を出力しますplay player
が、ビデオを一時停止しません。代わりに AVPlayer を一時停止する必要があることも読みましたがplayerThree.pause();
、ビデオを呼び出しても一時停止していません。
参照 - iOS スプライト キット SKVideoNode でビデオの再生を制御するにはどうすればよいですか?
と
AVPlayer play SKVideoNode video 、再生を制御できません
.pause
複数の SO の回答が、SKVideoNode の呼び出しが機能すると言っているのはなぜですか.play
。それを実装しても実際には機能しません。
このビデオを一時停止した後、新しいビデオ プレーヤーにスワップできるようにしたいのですが、うまくいきました。ただ、このビデオ プレーヤーを削除または一時停止することはできません。
参照 - https://forums.developer.apple.com/thread/28470 この投稿によると、AVPlayer レートが上書きされているため、SKVideoNode を一時停止できません。