2016-02-24 128 views
1

我有一個SKVideoNode,像這樣 -SKVideoNode.pause()不暫停視頻

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 playerplay player,但它只是不會暫停視頻,我也看到了,我應該暫停AVPlayer代替,但調用playerThree.pause();視頻時,不被任何暫停。

看到 - How do I control playback of a video in an iOS Sprite Kit SKVideoNode?

AVPlayer play SKVideoNode video ,I just can not control the playback

爲什麼多個SO回答說,在SKVideoNode調用.pause.play的作品,即使在實現時,它實際上並沒有正常工作。

暫停此視頻中,我希望能夠交換到一個新的視頻播放器後,我已經得到了工作..它只是我不能刪除或暫停該視頻播放器。

見 - https://forums.developer.apple.com/thread/28470根據該交AVPlayer速率被覆蓋,因而SKVideoNode不能暫停。

回答

0

我不得不暫停AVPlayerItem如此 -

playerThree.pause(); 

的伎倆。