Буферизация, переключение и циклическое воспроизведение видео в приложении iPhone для имитации непрерывной подачи видео - PullRequest
1 голос
/ 17 декабря 2009

Я не разработчик iPhone (пока). Поэтому, пожалуйста, извините, если этот вопрос очень простой.

Из того, что я могу почерпнуть из документации по разработке, можно «воспроизводить» только один видеофайл за раз.

Требование, которое я имею, состоит в том, чтобы переключаться с одного видео на другое плавно или переключаться на второй экземпляр первого видео и продолжать «зацикливание».

Можно ли загрузить / буферизовать 2-е видео, чтобы видео можно было непрерывно воспроизводить друг за другом, чтобы обеспечить постоянную подачу видео? Или «проигрывать» 2 видео, но только одно на экране одновременно?

Ответы [ 3 ]

1 голос
/ 10 марта 2010

К сожалению (и, к моему большому отвращению), вы не можете сделать бесшовную петлю. Однако есть уведомление / событие MPMoviePlayerPlaybackDidFinishNotification, которое вы можете наблюдать / прослушивать, что, по сути, дает вам событие после завершения воспроизведения фильма. Вы можете использовать это для воспроизведения следующего видео или повторить только что воспроизведенное.

Недостатком является то, что MPMoviePlayerController затеняет предыдущий фильм (до цвета фона), когда он заканчивает воспроизведение, что мешает нам непрерывно повторять цикл. Если в вашем видео нет звука, я бы предложил извлечь кадры и воспроизвести их с помощью UIImageView, если в нем есть звук, то (как и я) вы застряли!

Удачи.

1 голос
/ 03 декабря 2010

Вы можете зациклить видео с iOS 3.2+ на iPad. Для компиляции для iPhone мне пришлось использовать базовый SDK 4.1 (должен работать и 4.0)

MPMoviePlayerController *mp = [[MPMoviePlayerController alloc] initWithContentURL:nsUrl];
moviePlayer.repeatMode = MPMovieRepeatModeOne;
[mp play];

Эта статья помогла мне настроить вещи: http://iosdevelopertips.com/video/getting-mpmovieplayercontroller-to-cooperate-with-ios4-3-2-ipad-and-earlier-versions-of-iphone-sdk.html

0 голосов
/ 16 января 2010

Начиная с IPhone SDK 3.1.3, MPMoviePlayer не может этого сделать. Следите за будущими обновлениями SDK.

...