Czy istnieje stosunkowo łatwy sposób zapętlenia wideo w programie AVFoundation?
Stworzyłem mój AVPlayer i AVPlayerLayer w ten sposób:
avPlayer = [[AVPlayer playerWithURL:videoUrl] retain];
avPlayerLayer = [[AVPlayerLayer playerLayerWithPlayer:avPlayer] retain];
avPlayerLayer.frame = contentView.layer.bounds;
[contentView.layer addSublayer: avPlayerLayer];
a potem odtwarzam wideo za pomocą:
[avPlayer play];
Film odtwarza się dobrze, ale na końcu się zatrzymuje. Z MPMoviePlayerController wszystko, co musisz zrobić, to ustawić jego repeatMode
właściwość na odpowiednią wartość. Wygląda na to, że w programie AVPlayer nie ma podobnej właściwości. Wygląda na to, że nie ma też wywołania zwrotnego, które powie mi, kiedy film się skończy, więc mogę odszukać początek i odtworzyć go ponownie.
Nie używam MPMoviePlayerController, ponieważ ma on poważne ograniczenia. Chcę mieć możliwość jednoczesnego odtwarzania wielu strumieni wideo.