我有一个 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
,play player
但它不会暂停视频,我还读到我应该暂停 AVPlayer,但是在调用playerThree.pause();
视频时也没有暂停。
请参阅 -如何在 iOS Sprite Kit SKVideoNode 中控制视频的播放?
和
AVPlayer 播放 SKVideoNode 视频,我就是无法控制播放
为什么多个 SO 答案说调用SKVideoNode 上的.pause
and.play
可以工作,即使在实现它时,它实际上并没有工作。
暂停此视频后,我希望能够切换到新的视频播放器,我已经开始工作了.. 只是我无法删除或暂停此视频播放器。
请参阅 - https://forums.developer.apple.com/thread/28470 根据此帖子,AVPlayer 速率正在被覆盖,因此无法暂停 SKVideoNode。