私はtvOSアプリを作っています。私のアプリケーションには 2 つのタブがAありBます。ビデオがAVC のタブで再生されているとします。からタブを切り替えるときに、現在再生中のビデオを一時停止したいA->B。私はこれをやっていますviewWillDisappearが、ビデオは初めて一時停止します。もう一度タブを切り替えB->Aてテレビのリモコンの再生ボタンを押すと再生されますが、もう一度タブを切り替えようとするとA->Bビデオが続き、停止しません。
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated)
avplayerVC?.player?.rate = 0.0
print("Player Playing Rate : ", "\(avplayerVC?.player?.rate)")
}
私は avPlayer.pause() メソッドと avPlayer.rate = 0.0 を使用して停止していますが、毎回機能するものはありません。
ログはそれを言いますPlayer Playing Rate : Optional(0.0)。しかし、ビデオは実際には一時停止しません。これが私の完全なコードです。
class PlayViewController : UIViewController {
var avplayerVC : AVPlayerViewController?
var videoUrlStr : String?
override func viewDidLoad() {
super.viewDidLoad()
print("In PlayViewController View Did Load")
avplayerVC = AVPlayerViewController()
let avAsset = AVAsset(URL: NSURL.init(string: videoUrlStr!)!)
let avPlayerItem = AVPlayerItem(asset: avAsset)
avplayerVC?.player = AVPlayer(playerItem: avPlayerItem)
avplayerVC?.player?.seekToTime(kCMTimeZero)
print("Status 1: " + "\(avplayerVC?.player?.status.rawValue)")
print(self.view?.frame)
// doesn't work
avplayerVC?.view.frame = self.view.frame
self.view.addSubview((avplayerVC?.view!)!)
avplayerVC?.player?.play()
}
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated)
print("Changing rate")
avplayerVC?.player?.rate = 0.0
print("Player Playing Rate : ", "\(avplayerVC?.player?.rate)")
}
}
どんな助けでも大歓迎です。