2016-04-01 24 views
1

私は展覧会用のいくつかのショートムービーを表示するためのアプリを作ったが、iPadでは完全に機能していたが、外部ディスプレイではビデオは最後のフレームに留まる。 我々は、表示用の外部コントロールとしてのiPadを使用したいが、何の映像がビデオiOS Swift App AVPlayerControllerは外部ディスプレイでは機能しません。

let playerItem = AVPlayerItem(URL: NSURL(fileURLWithPath: videoPath!)) 
let player = AVPlayer(playerItem: playerItem) 
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(VideoCollectionViewController.playerDidReachEnd(_:)), name: AVPlayerItemDidPlayToEndTimeNotification, object: playerItem) 

playerController.player = player 
self.presentViewController(playerController, animated: true) { 
    self.playerController.player!.play() 
} 

そして、ここにあるを開始するためのスニペットです

を果たしていないときに、ユーザーが常にビデオ選択GUIが表示されるはずです終了時に呼び出される関数です。

func playerDidReachEnd(notification: NSNotification) { 
    NSNotificationCenter.defaultCenter().removeObserver(self) 

    playerController.player?.currentItem 
    playerController.dismissViewControllerAnimated(true, completion: nil) 
} 

動画がプレーヤ

の「完了」ボタンを使用して停止した場合、それはまた、アプリの画面に戻って落ちない、それが戻って落ちるので、それはAVPlayerControllerを消すようにする任意のトリックがありますすべてのディスプレイに直接私のアプリに?

答えて

0

他の誰かがその問題に遭遇する可能性がある場合に備えて、ここで私の答えを投稿することを完全に忘れました。

次のコードはplayerDidReachEndに配置されますが、それほど違いはありませんが、すべての画面からプレーヤが削除されます。

playerController.dismissViewControllerAnimated(true, completion: nil) 
playerController.view.removeFromSuperview() 
self.presentedViewController?.dismissViewControllerAnimated(true, completion: nil) 
関連する問題