У меня возникли проблемы с воспроизведением видеоконтента как на устройстве iOS, так и в симуляторе.
Цель: Потоковая передача видео с онлайн-ресурса, указанного здесь: общедоступные видеопотоки с использованием hls с помощью AVPlayerViewController
, просто чтобы узнать, как это работает.
Это постоянно приводило к тому, что не возникало никаких ошибок, но контроллер представления представлял мне это представление.
Я решил отступить и протестировать на локальном ресурсе, поэтому снял короткий снимок экрана в формате quicktime (.m4v) и сохранил его прямо в проекте. Это привело к точно такому же поведению без сообщений об ошибках.
Вот код (импортируются AVKit
и AVFoundation
):
var playerVC : AVPlayerViewController!
var playerItem : AVPlayerItem!
var player : AVPlayer!
var playerLayer: AVPlayerLayer!
override func viewDidAppear(animated: Bool) {
let bundle = NSBundle.mainBundle()
let path = bundle.pathForResource("testVideos", ofType: "m4v")
let url = NSURL.init(string: path!)
playerItem = AVPlayerItem.init(URL: url!)
player = AVPlayer.init(playerItem: playerItem)
playerVC = AVPlayerViewController.init();
playerVC.player = player;
self.presentViewController(playerVC, animated: true) { () -> Void in
self.playerVC.player?.play()
}
}
Это предупреждение при сборке на IpadMini 4: <CATransformLayer: 0x136ea1030> - changing property masksToBounds in transform-only layer, will have no effect
Xcode: версия 7.1 Таргетинг: iOS 9.0
Обновление Просто какой-то неприятный вывод ограничений из AVPlayerViewController. Я не думаю, что это способствует, но вот это:
2015-10-28 15:12:02.777 AVKitTest[4441:94545] Невозможно одновременно удовлетворить ограничения. Вероятно, по крайней мере одно из ограничений в следующем списке вам не нужно. Попробуйте следующее: (1) посмотрите на каждое ограничение и попытайтесь выяснить, чего вы не ожидаете; (2) найти код, который добавил нежелательное ограничение или ограничения, и исправить его. (Примечание. Если вы видите NSAutoresizingMaskLayoutConstraints, которые не понимаете, обратитесь к документации по свойству UIView translatesAutoresizingMaskIntoConstraints) ("", "", "", "", "", "", "", "" )