1

私はtvOSアプリを作っています。単純な SHOW セグエを作成しています。宛先ビューコントローラーでリモートビデオを再生したいのですがAVPlayerViewController、ボタンを押してセグエを作成すると、すぐには起こりません。実際、ほぼ 2 ~ 3 秒待機してから、目的のビュー コントローラーに移動し、そこでビデオがすぐに開始されます。AVPlayer がビデオをロードしているため、セグエがすぐに発生していないと思います。私はこの動作を望んでいません。私がしたいのは、すぐに移行を行い、目的のビュー コントローラーでアクティビティ インジケーター (回転ビュー) を表示することです。

これが宛先View Controllerのコードです。

import Foundation
import UIKit
import AVKit


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)
        avplayerVC?.player?.play()
        avplayerVC?.view.frame = (self.view?.frame)!
        self.view.addSubview((avplayerVC?.view!)!)

    }



    override func viewDidDisappear(animated: Bool) {
        super.viewDidDisappear(animated)
        avplayerVC?.view.removeFromSuperview()
    }


    // MARK : AVPlayerViewControllerDelegate


}

この動作を達成するために誰かが私を助けることができますか? ありがとう

4

1 に答える 1