У меня возникла проблема с воспроизведением нескольких видео на iPAD. Я пытаюсь воспроизвести несколько миниатюр видео в одном представлении. Вы можете сказать, что это очень похоже на камеру видеонаблюдения. Ну, я понятия не имею. Пожалуйста помогите. Заранее спасибо...
Воспроизведение нескольких видео на iPAD
Ответы (4)
MPMoviePlayerController позволяет использовать несколько экземпляров, но только один из них может воспроизводить свой фильм в любой момент времени.
Это упоминается здесь: http://developer.apple.com/library/ios/#documentation/mediaplayer/reference/MPMoviePlayerController_Class/MPMoviePlayerController/MPMoviePlayerController.html
Из статьи:
Примечание. Хотя вы можете создать несколько объектов MPMoviePlayerController и представить их представления в своем интерфейсе, только один проигрыватель фильмов может одновременно воспроизводить свой фильм.
Вы не можете использовать MKMediaFramework для воспроизведения нескольких видео. Однако вы можете сделать это с помощью AVFoundation Framework более низкого уровня. Это не так сложно, как вы думаете, и я сделал туториал по этому вопросу: http://www.sdkboy.com/?p=66
По сути, вам нужно расширить UIView, чтобы он содержал AVPlayerLayer, на который направляется вывод объекта AVPlayer, после чего вы можете создать несколько экземпляров этого UIView, которые вы загружаете видео с помощью экземпляров AVPlayer.
На самом деле это довольно просто сделать на iPad.
В основном вам нужно несколько объектов MPMoviePlayerController
.
Каждый объект MPMoviePlayerController
имеет свойство view
, вам просто нужно установить рамки views
на разных объектах MPMoviePlayerController
, чтобы они соответствовали тому, как вы хотите, чтобы он выглядел.
Вот простой пример использования двух объектов MPMoviePlayerController
и двух разных frames
:
MPMoviePlayerController *player =
[[MPMoviePlayerController alloc] initWithContentURL: myURL];
[[player view] setFrame: yourFrame1];
[myView addSubview: [player view]];
// ...
[player play];
MPMoviePlayerController *player2 =
[[MPMoviePlayerController alloc] initWithContentURL: myURL2];
[[player2 view] setFrame: yourFrame2];
[myView addSubview: [player2 view]];
// ...
[player2 play];
Может быть, при создании WebView и использовании экземпляра видео HTML5 вы можете запускать несколько видео одновременно.