Ответ 1
Установка свойства AVPlayerLayer
shouldRasterize
в значение true
приводит к исчезновению границ.
Это, по-видимому, ошибка устройства на уровне iPhone 6S Plus.
Шаги:
AVPlayerDemoPlaybackView.xib
, чтобы MPlayback View
имел поля вокруг него1px серые линии появятся вверху и бокам.
Кто-нибудь знает, как это сделать?
Я попытался поместить непрозрачный вид, который затеняет верх, но строка все равно будет отображаться ВЫШЕ непрозрачный вид!
Установка свойства AVPlayerLayer
shouldRasterize
в значение true
приводит к исчезновению границ.
Мое предложение состояло бы в том, что, поскольку ваш прецедент - анимированный цикл, чтобы вырезать AVPlayer и использовать UIImageView.
UIImage
имеет animatedImage(with:duration:)
, где вы можете ввести массив изображений и оживить их, как вам нравится.
Я думаю, это решит вашу проблему. По моему опыту, AVPlayer был немного неуклюжим с iOS 10. Я думаю, что, поскольку вы видите только эту проблему на 6s + и 7s +, это доказательство того, что у нее есть некоторые проблемы.
Если вы абсолютно уверены в том, чтобы разобраться с AVPlayer, сначала отправьте отчет об ошибке Apple. Тогда, возможно, попробуйте добавить UIImageView за вашим AVPlayer, у которого изображение установлено на пустой кадр из вашего видео. Это своего рода хакерское решение, но это может сработать. Кроме того, проверьте этот столбец. Это может пролить свет на проблемы, которые возникают с AVPlayer.
Удачи.
Я попробовал ответ Nate4436271, и это сработало для меня, я имею в виду, имело ту же проблему и избавилось от серых линий, но установив для свойства shouldRasterize значение true, мое видео потеряло качество изображения. Итак, я установил videoGravity моего playerLayer в AVLayerVideoGravityResizeAspectFill, и я избавился от строк, сохраняя при этом качество изображения:)
Вот что я сделал:
playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill
AspectFill был в моих потребностях и решил проблему. Возможно, вы захотите оценить, подходят ли другие варианты для того, что вам нужно, например AspectFit или Resize.
Надеюсь, что это поможет:)