Итак, я искал решение сейчас, когда 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.
Я пробовал этот и многие другие решения, которые выглядят как они. Но он просто не работает, как я хочу, в коде выше.
Я просто хочу записать видео и воспроизвести его в новом виде, точно так же, как snapchat.
Пожалуйста, помогите мне
ДОБАВЛЕННАЯ ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ:
Поэтому, когда я пытаюсь исправить это с помощью этого (принятый ответ) или это решение (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()
}
})