Я пытаюсь отобразить видео на экране входа в систему, как показано на таких приложениях, как Spotify.Сделать полный экран AVPlayer без почтового ящика
Что я делаю
Для этого я использую AVPlayer:
self.videoPlayer = AVPlayer(playerItem: item)
self.videoView.player = self.videoPlayer
self.videoPlayer.play()
VideoView является пользовательский класс UIView, как описано here.
Я поставил videoGravity в AVLayer, чтобы AVLayerVideoGravityResizeAspectFill:
self.videoView.playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill
Проблема
Однако, мое видео еще и снизу, когда я пытаюсь сделать это заполнить границы моего зрения:
Что я хочу
Я хочу, чтобы видео заполнило все границы без каких-либо черных полос. Меня не волнует, если часть видео обрезается:
Дополнительная информация
Когда я смотрел на deprecated MPMoviePlayerController's scaling mode property, я нашел следующее описание свойства aspectFill:
Масштабируйте фильм равномерно, пока фильм не заполнит видимые границы вида. Содержимое на краях большего из двух размеров обрезается так, чтобы другой размер точно соответствовал виду. Соотношение сторон фильма сохраняется
Судя по этому описанию, это точное поведение, которое я хочу. Однако, как уже было сказано, мое видео получает почтовый ящик. Я что-то делаю неправильно или Apple перестала поддерживать этот тип масштабирования? Если мне не нужна часть обрезанного видео, я должен сам реализовать это масштабирование?
Любая помощь приветствуется, спасибо.
Проверьте, является ли videoView.frame тем же самым, что и self.view.frame. – Ponja