私は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
}
この動作を達成するために誰かが私を助けることができますか? ありがとう