2015-11-12 3 views
7

Я устанавливаю n avplayer внутри контроллера вида для настройки некоторых других элементов контроллера вида, но мне все еще нужны элементы управления воспроизведением и очистки, используемые в AVPlayerViewController. Есть ли способ включить эти элементы управления для Avplayer, когда я не использую AvPlayerViewcontroller?AVPlayer с элементами управления воспроизведением avplayerviewcontroller

+0

Эй, вы получили решение. Я добавляю AVPlayerViewController в качестве контроллера детского представления и сохранял свой кадр. Но элементы управления, такие как play, pause, scrubbing controls и т. Д., Не видны. Пожалуйста помоги. – Ruchi

ответ

20

№. Обычным решением (явным образом рекомендовано Apple) является использование AVPlayerViewController в качестве встроенного контроллера представлений - т. Е. Сделать ваш контроллер представления пользовательским родительским контроллером представления и AVPlayerViewController его дочерним элементом, и теперь вы можете разместить его представление (фильм и элементы управления) внутри вашего представления в качестве подчиненного в хорошем состоянии. Пример (из моей книги: self - ваш контроллер вашего вида):

let url = // whatever 
let player = AVPlayer(URL:url) 
let av = AVPlayerViewController() 
av.player = player 
av.view.frame = // whatever 
self.addChildViewController(av) 
self.view.addSubview(av.view) 
av.didMoveToParentViewController(self) 
+0

Хотя это отлично работает, Xcode будет показывать ошибки, как показано ниже: Невозможно одновременно удовлетворить ограничения. Похоже, проблема связана с автоматическим отключением элементов управления воспроизведением в AVPlayerViewController. Но подумайте, что это ошибка. – JSNoob

+0

@JSNoob Обязательно сообщайте о таких сообщениях Apple: http://bugreport.apple.com – matt

+0

Невозможно создать объект avplayerviewcontroller в swift 3.0 – RaviJSS

Смежные вопросы