Воспроизведение видео в фоновом режиме с помощью AVPlayer, дающего проблемы с AspectFill и цикл

Вот что у меня есть, и я хочу, чтобы это видео заполнило весь экран (aspectFill)

playerLayer.videoGravity = kCAGravityResizeAspectFill должен делать Aspect Fill, но я все еще получаю черные полосы вверху и внизу экрана.

Последняя строка должна зацикливаться на видео, но вместо этого она просто тускнеет и перестает играть.

Любые предложения приветствуются.

var moviePlayer: AVPlayer! override func viewDidLoad() { super.viewDidLoad() // Load the video from the app bundle. let videoURL: NSURL = NSBundle.mainBundle().URLForResource("video", withExtension: "mp4")! self.moviePlayer = AVPlayer(URL: videoURL) self.moviePlayer.muted = true let playerLayer = AVPlayerLayer(player: self.moviePlayer) playerLayer.videoGravity = kCAGravityResizeAspectFill //this not working playerLayer.zPosition = -1 playerLayer.frame = self.view.frame self.view.layer.addSublayer(playerLayer) self.moviePlayer.play() // Loop video. NSNotificationCenter.defaultCenter().addObserver(self, selector: "loopVideo", name: AVPlayerItemDidPlayToEndTimeNotification, object: self.moviePlayer) } func loopVideo() { self.moviePlayer.play() } 

One Solution collect form web for “Воспроизведение видео в фоновом режиме с помощью AVPlayer, дающего проблемы с AspectFill и цикл”

Вы используете неправильное значение для гравитации видео, пожалуйста, измените на:

 playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill; 

Обратите внимание, что это значение относится к видеороликам, где в качестве значения, которое вы использовали, используется для масштабирования изображений.

И для того, чтобы получить видеоролик, вы только что забыли перемотать видео после того, как он закончил игру. Я не использую swift, но в Objc C ваша функция loopVideo будет выглядеть так:

 -(void) loopVideo { [self.moviePlayer seekToTime:kCMTimeZero]; [self.moviePlayer play]; } 
  • Настройка UISearchController iOS 11
  • Выравнивание изображения с правой стороны заголовка в UIButton с помощью imageEdgeInsets и titleEdgeInsets
  • Crash whille Преобразование NSURL в CFURL
  • Как AWS-Cognito и DynamoDB будут работать для мобильной разработки - iOS-Swift
  • XCode говорит «Использование необъявленного типа» при попытке использовать протокол, определенный внутри частного Pod (Swift)
  • как создать всплывающее окно в Swift
  • Печать NSError от NSLog всегда вызывает EXE_BAD_ACCESS
  • Firebase queryEqual не работает
  • Как установить размер шрифта заголовка панели навигации
  • О «Декларации действует только в области файлов»
  • UINavigationBar устанавливает пользовательскую тень в AppDelegate.swift
  • Interesting Posts

    Как сохранить несколько значений для одного и того же ключа в NSDictionary, учитывая NSArray объектов JSON?

    Контент скрыт за TabBarIOS с помощью React Native

    Индикатор активности в центре панели навигации

    В чем разница между одиночными векторными и векторными переопределениями?

    Как определить, существует ли файл в папке iCloud?

    Проверьте «Release Build» во время выполнения

    Ежедневные уведомления о локальном оповещении iOS

    iOS – Получить расположение окна в окне?

    Правильный тип контента задан, но файл .ipa обрабатывается как .zip-файл

    Методы делегата основного местоположения не получаются в iOS 8.3 Xcode 6.3.1

    UITableViewController – Исправлено фоновое изображение

    Проблемы с совместимостью даже после выполнения требований с использованием расширений протокола для протоколов @objc

    Как программно получить высоту строки состояния iOS

    textureFromNode: crop: возвращает нуль, а textureFromNode: работает нормально

    как выполнить segue

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.