Можно ли одновременно воспроизводить несколько видеофайлов на iPad в приложении HTML5 или Native?
В HTML5 или в исходном виде в Objective-C мне нужно создать сетку миниатюр видео, которые автоматически воспроизводятся при загрузке страницы или просмотра на iPad. Я читал на нескольких форумах и Stackru. Некоторые люди указывают, что это возможно с AVController. Другие, включая штат Apple,
"Примечание. Хотя вы можете создавать несколько объектов MPMoviePlayerController и представлять их представления в своем интерфейсе, только один видеоплеер одновременно может воспроизводить его фильм".
Ссылка: MPMoviePlayerController
В HTML5 он работает на Macbook, где воспроизводятся все 9 видео:
<video class="movie" src="videos/aerials.m4v" autoplay controls width="200" height="110"></video>
Вставьте этот 9x с правильными ссылками, и хорошая сетка видео начнет играть без проблем. Однако на iPad HTML5, загруженный в веб-просмотр, дает ту же сетку 9, но видео не воспроизводится сразу. Только 1 видео воспроизводится одновременно.
Теперь я выбрал путь target-c и попробовал его другим способом, чтобы проверить утверждение Apple, на которое ссылались ранее:
moviePlayer1 = [[MPMoviePlayerController alloc]
initWithContentURL:videoURL];
moviePlayer1.view.frame = CGRectMake(0, 0, 200, 110);
[self.view addSubview:moviePlayer1.view];
[[NSNotificationCenter defaultCenter]addObserver:self
selector:@selector(movieFinishedCallback:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:moviePlayer1];
[moviePlayer1 play];
moviePlayer2 = [[MPMoviePlayerController alloc]
initWithContentURL:videoURL];
moviePlayer2.view.frame = CGRectMake(0, 300, 200, 110);
[self.view addSubview:moviePlayer2.view];
[[NSNotificationCenter defaultCenter]addObserver:self
selector:@selector(movieFinishedCallback:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:moviePlayer2];
[moviePlayer2 play];
Это действительно показывает оба видеофайла в представлении, но опять та же проблема, что и в HTML5, и только 1 видео для воспроизведения одновременно.
Я полагаю, что это связано с аппаратным ограничением декодирования, которое, возможно, Apple применяет на iPad, чтобы не допустить скачкообразного использования ЦП и поддерживать еще один строгий уровень контроля над мультимедийной частью в рамках. Я прав или нет? Если не так, помогите, пожалуйста, предоставить фрагмент кода, который включит мою задачу. Спасибо!
1 ответ
Вы фактически ответили на свой вопрос уже по данной цитате. Но просто чтобы всем было понятно, еще раз из моего ответа на очень похожий вопрос.
Это невозможно. При использовании MPMoviePlayerController / MPMoviePlayerViewController одновременно может быть воспроизведен только один фильм / поток.
Из ссылки на класс MPMoviePlayerController
Примечание. Хотя вы можете создавать несколько объектов MPMoviePlayerController и представлять их представления в своем интерфейсе, только один проигрыватель фильмов одновременно может воспроизводить его.