Зацикливание видео с AVFoundation AVPlayer?

Есть ли относительно простой способ зацикливания видео в AVFoundation?

Я создал свои AVPlayer и AVPlayerLayer следующим образом:

avPlayer = [[AVPlayer playerWithURL:videoUrl] retain];
avPlayerLayer = [[AVPlayerLayer playerLayerWithPlayer:avPlayer] retain];

avPlayerLayer.frame = contentView.layer.bounds;
[contentView.layer addSublayer: avPlayerLayer];

, а затем я проигрываю видео с:

[avPlayer play];

Видео воспроизводится нормально, но останавливается на конец. С MPMoviePlayerController все, что вам нужно сделать, это установить для его свойства repeatMode правильное значение. Похоже, что в AVPlayer подобного свойства нет. Также, похоже, нет обратного вызова, который сообщит мне, когда фильм закончится, так что я смогу найти начало и воспроизвести его снова.

Я не использую MPMoviePlayerController, потому что он имеет некоторые серьезные ограничения. Я хочу иметь возможность воспроизводить несколько видеопотоков одновременно.

139
задан ARGeo 11 November 2018 в 12:21
поделиться