そのため、MPMoviePlayerControllerが非推奨になったときに、解決策を探していました。私の現在のコードは正常に機能します:
moviePlayer = MPMoviePlayerController(contentURL: receivedURL)
moviePlayer!.movieSourceType = MPMovieSourceType.Unknown
moviePlayer!.view.frame = view.bounds
moviePlayer!.scalingMode = MPMovieScalingMode.AspectFill
moviePlayer!.controlStyle = MPMovieControlStyle.None
moviePlayer!.shouldAutoplay = true
view.addSubview((moviePlayer?.view)!)
moviePlayer?.setFullscreen(true, animated: true)
moviePlayer!.play()
ビデオを録画します。録画が完了すると、上記のコードで新しいビューで再生されます。しかし、私が理解しているように、MPMoviePlayerControllerはiOS9で非推奨であり、上記のコードのように機能するソリューションを見つけることができません。 AVPlayerとAVPlayerViewControllerを使用する必要があることを理解しています。
私は this とそれらのように見える他の多くの解決策を試しました。しかし、上記のコードで必要なようには機能しません。
ビデオを録画して、snapchatとまったく同じように新しいビューで再生したいだけです。
私を助けてください
追加情報:
したがって、 this (受け入れられた回答)または this solution (AVPlayer)で修正しようとすると、ビューが空白になります。何も表示されません。
var player:AVPlayer!
let avPlayerLayer:AVPlayerLayer = AVPlayerLayer(player: player)
avPlayerLayer.frame = CGRectMake(50,50,100,100)
self.view.layer.addSublayer(avPlayerLayer)
player = AVPlayer(URL: receivedURL)
player.play()
そして、私が変更しなければならなかった AVPlayerViewController で試してみると:
let player = AVPlayer(URL: receivedURL)
let playerViewController = AVPlayerViewController()
playerViewController.player = player
dispatch_async(dispatch_get_main_queue(), {
self.presentViewController(playerViewController, animated: true) {
playerViewController.player?.play()
}
})
var player:AVPlayer!
let avPlayerLayer:AVPlayerLayer = AVPlayerLayer(player: player)
avPlayerLayer.frame = CGRect(x:50,y:50,width:100,height:100)
self.view.layer.addSublayer(avPlayerLayer)
player = AVPlayer(url: receivedURL)
player.play()
ここでは、AVPlayerLayerにプレーヤーを追加した後にプレーヤーを初期化します。このようにしてみてください:
let player = AVPlayer(url: receivedURL)
let avPlayerLayer:AVPlayerLayer = AVPlayerLayer(player: player)
avPlayerLayer.frame = CGRect(x:50,y:50,width:100,height:100)
self.view.layer.addSublayer(avPlayerLayer)
player.play()