Воспроизведение нескольких видео на iPAD

У меня возникла проблема с воспроизведением нескольких видео на iPAD. Я пытаюсь воспроизвести несколько миниатюр видео в одном представлении. Вы можете сказать, что это очень похоже на камеру видеонаблюдения. Ну, я понятия не имею. Пожалуйста помогите. Заранее спасибо...


person makboney    schedule 06.03.2011    source источник
comment
Контроллер MPMoviePlayer допускает несколько экземпляров, но только один из них может воспроизводить свой фильм в любой момент времени.   -  person Stefan H    schedule 06.03.2011
comment
Если бы это было для видеонаблюдения, кажется, что опрос для неподвижного изображения каждой камеры с заданной частотой был бы разумным. Затем пользователь мог коснуться камеры, чтобы увидеть живое видео для нее. В противном случае, похоже, вам понадобится реализовать собственный видеоплеер.   -  person Chris Wagner    schedule 15.03.2011
comment
Другой подход заключается в использовании AVAssetReader для чтения из двух файлов фильмов. Затем вы можете передать данные в OpenGL и визуализировать две видеотекстуры. Возможно, вы сможете создать видеокомпозицию с обоими источниками и передать ее одному MPMoviePlayer.   -  person Steve McFarlin    schedule 15.03.2011
comment
Могу ли я получить какую-либо поддержку от iPad 2 (двухъядерный процессор 1 ГГц). Или полностью идет с ограничением iOS.   -  person makboney    schedule 16.03.2011
comment
@ Стив МакФарлин, не могли бы вы дать мне образец ... это будет так мило с вашей стороны ...   -  person makboney    schedule 16.03.2011


Ответы (4)


MPMoviePlayerController позволяет использовать несколько экземпляров, но только один из них может воспроизводить свой фильм в любой момент времени.

Это упоминается здесь: http://developer.apple.com/library/ios/#documentation/mediaplayer/reference/MPMoviePlayerController_Class/MPMoviePlayerController/MPMoviePlayerController.html

Из статьи:

Примечание. Хотя вы можете создать несколько объектов MPMoviePlayerController и представить их представления в своем интерфейсе, только один проигрыватель фильмов может одновременно воспроизводить свой фильм.

person Stefan H    schedule 06.03.2011
comment
Спасибо ... но можно ли сделать это тщательное многопоточность? - person makboney; 06.03.2011
comment
Нет, я так не думаю. Даже если бы это было возможно, это, скорее всего, нарушило бы политику Apple и, следовательно, не позволило бы вашему приложению попасть в магазин приложений. - person Stefan H; 06.03.2011
comment
Что может быть вариантом, так это поочередно запускать и останавливать каждое представление, чтобы оно циклически проходило через них. - person Stefan H; 06.03.2011
comment
вы говорите, что даете управление каждому экземпляру в циклическом порядке. Но будет ли это осуществимо? Потому что есть несколько представлений, и все, кроме одного, будут в состоянии остановки. Но мне нужно, чтобы все они работали одновременно. - person makboney; 06.03.2011
comment
То, что вы хотите, не будет работать. Вы не можете заставить их всех играть одновременно. Я предполагал, что если то, что вы пытаетесь сделать, похоже на просмотр камер наблюдения, вы можете циклически воспроизводить каждую камеру одну за другой. включите один, поиграйте немного, выключите один, выключите два и т. д. и т. п. - person Stefan H; 06.03.2011
comment
Хорошо... это вероятное решение. Но мне нужно быть уверенным в решении, так что дайте время, чтобы принять его. Спасибо дружище за потраченное время... - person makboney; 06.03.2011

Вы не можете использовать MKMediaFramework для воспроизведения нескольких видео. Однако вы можете сделать это с помощью AVFoundation Framework более низкого уровня. Это не так сложно, как вы думаете, и я сделал туториал по этому вопросу: http://www.sdkboy.com/?p=66

По сути, вам нужно расширить UIView, чтобы он содержал AVPlayerLayer, на который направляется вывод объекта AVPlayer, после чего вы можете создать несколько экземпляров этого UIView, которые вы загружаете видео с помощью экземпляров AVPlayer.

person Sam Keene    schedule 18.07.2011
comment
видел ваш учебник .. довольно умно .. но примет ли Apple это для магазина приложений - person Krishnabhadra; 27.07.2011
comment
Привет, Кришнабхадра, это не должно быть проблемой, поскольку вы не нарушаете никаких правил Apple. В магазине приложений уже есть несколько приложений для виджеинга, которые воспроизводят несколько видео. Если характер вашего приложения требует наличия нескольких видео и оно стабильно, то проблем быть не должно. - person Sam Keene; 10.09.2011

На самом деле это довольно просто сделать на 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];
person Zebs    schedule 06.03.2011
comment
Спасибо... но, как сказал Стефан, только один из экземпляров получает контроль. здесь последний экземпляр (player2) активен. - person makboney; 06.03.2011
comment
@makboney: я подтвердил, что это так, и, похоже, нет способа обойти это, не нарушая политики Apple. Важно отметить, что это ограничение было основано на оборудовании; так что с новым двухъядерным iPad это может измениться. - person Zebs; 06.03.2011

Может быть, при создании WebView и использовании экземпляра видео HTML5 вы можете запускать несколько видео одновременно.

person Khaldoun    schedule 06.04.2011