AVPlayer: как "проиграть" картинку вместо видео? - PullRequest
0 голосов
/ 29 мая 2020

Я работаю над приложением для здоровья / фитнеса с видео-тренировками, и в некоторых случаях я хочу показывать статические c изображения вместо видео для некоторых упражнений «stati c». Интересно, есть ли способ "проиграть" изображение вместо видео с помощью AVPlayer?

Или, возможно, какой-нибудь простой способ конвертировать изображение в видео «на лету»

Это сэкономит мне много времени / усилий по кодированию, поскольку все уже сделано для AVplayer, а не за отображение uiImage.

Заранее спасибо.

1 Ответ

0 голосов
/ 30 мая 2020

Если изображение отделено от видеоданных, нет, вы не можете. Вместо этого вы можете просто добавить UIImageView с тем же фреймом, что и AVPlayer, и показать / скрыть тот, который вам нужен в данный момент. Если изображение является кадром из видео, вы можете попробовать поиграть с функцией .step в AVPlayer, например:

videoPlayer.currentItem?.step(byCount: 1)

Если вы используете UIImageView и вам нужно несколько фотографий для l oop, вы можно использовать встроенный

imageView.animationImages = [arrayOfImages]
imageView.animationDuration = TimeInterval(Double(0.5) * Double([arrayOfImages.count])) //seconds * # images
imageView.startAnimating()
...