1

私は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)")
        }
   }

どんな助けでも大歓迎です。

4

1 に答える 1

0

私は で同じ問題を抱えていましたAVPlayerViewController。多分私の答えはあなたを助けるでしょう:ここ

于 2015-11-21T13:44:06.320 に答える