Подтвердить что ты не робот

Несколько элементов мультимедиа HTML5 на одной странице в iOS (iPad)

My исследование заставило меня узнать, что обработчик элементов Apple media - одноэлементный, то есть я не могу играть video, пока a audio играет в фоновом режиме. Мне поручено создать рамочную презентацию слайд-шоу, и клиент хочет фоновый звуковой дорожку, синхронизированные звуковые голоса, которые соответствуют точкам маркера, и переменный носитель, который может быть либо изображением, либо видео, либо тайм-цикл нескольких элементов мультимедиа.

Конечно, ни один из средств массовой информации не работает на iOS. Каждый элемент мультимедиа отменяет предыдущий.

Моя первоначальная мысль заключалась в том, чтобы встроить звуковой сигнал в видео, когда есть видео, но есть существующая версия Flash этой настройки, которая зависит от существующих активов, поэтому я в значительной степени должен использовать то, что доставлено.

Есть ли для этого какая-то работа? Я тестирую iOS 4.3.5. Самые умные разработчики в мире находятся на этом сайте - нам нужно что-то придумать.

EDIT: обновлен мой iPad до iOS 5.0.1, и проблема остается.

4b9b3361

Ответ 1


Как сделать это с помощью CSS, чтобы сделать трюк.
Возможно, вы знаете о компании под названием vdopia, которая распространяет видеообъявление на мобильных устройствах. http://mobile.vdopia.com/index.php?page=mobilewebsolutions
Они утверждают, что разработали так называемый видеоформат Vdo, который на самом деле просто выполняет css-спрайт: D
Я имею в виду, что вы могли бы иметь свое "видео" в качестве обрамленного изображения, а затем прикреплять туда тэг html5.

Я хотел бы знать ваш ответ

Ответ 2

Работаете ли вы над веб-приложением или с помощью собственного приложения?

Если вы работаете над веб-приложением, вы находитесь в мире обид. Это связано с тем, что вы просто не имеете большого контроля над тем, что Mobile Safari не предоставляет сразу. Если это так, я бы вышел и честен с заинтересованными сторонами.

Если вы работаете над собственным приложением, вы можете прибегнуть к механизму, который включает в себя некоторую обратную связь между UIWebView и ObjC. Это действительно выполнимо.

Идея такова:

Вставьте специальные элементы <object> в ваши документы HTML5, которые вы вручную создаете в соответствии с вашими потребностями, уделяя особое внимание поддержанию соглашения об ином для нестандартных атрибутов. Здесь вы можете вставлять идентификаторы, пути и другие переменные управления в мультимедийные артефакты, которые вы хотите воспроизвести.

Тогда вы могли бы построить некоторый javascript (поверх jQuery, p.e.), который обменивается данными с ObjC через механизм делегирования на UIWebView или через HTTP. Я рассмотрю этот вариант ниже.

Скажите, что в $(document).ready() вы просматриваете все объекты, имеющие специальный класс. Класс, который вы тщательно выбираете для определения всех специальных <object>. Вы создаете список таких объектов и передаете их части ObjC вашего приложения. Вы можете легко сериализовать такой список с помощью JSON. Затем в ObjC вы можете делать с ними то, что хотите. Проигрывайте их через AVPlayer или какую-либо другую структуру всякий раз, когда вы хотите, чтобы они играли (снова вы прибегаете к мосту JS-ObjC, чтобы на самом деле сигнализировать нативную часть для воспроизведения определенного элемента).

Вы можете "обмениваться" с ObjC с помощью шаблона делегирования в UIWebView или через HTTP. Тогда у вас будет мост JS-ObjC.

В некоторых случаях подход HTTP имеет смысл, но он включает в себя много дополнительного кода и ресурсный голод.

Если вы создаете приложение ObjC и хотите получить дополнительную информацию о том, как на самом деле построить мост ObjC-JS, который соответствует этим требованиям, вернитесь к нам:)

Я останавливаю этот пост на данный момент, потому что было бы неплохо узнать, действительно ли это приложение Native.

Приветствия.

Ответ 3

В настоящее время невозможен. Как вы заметили, когда воспроизводится видео, он занимает весь экран с быстрым временем и перемещает браузер на задний план. Единственное решение в это время - объединить аудио и видео вместе в формате mp4 и воспроизвести этот единственный элемент.

Если я правильно вас понимаю, вы не можете объединить аудио и видео вместе, потому что оно зависит от вспышки? Поскольку iOS не может воспроизводить флеш, вы должны объединить аудио и видео вместе и использовать flash в качестве резервной копии. Есть много игроков html5, которые используют javascript, чтобы сначала попытаться воспроизвести видео html5, а затем вернуться к flash для резервного копирования.

Ответ 4

Вы упомянули, что существует существующая настройка Flash видео - это SWF файл, вы можете импортировать его в программное обеспечение для редактирования видео/аудио и добавить звуковую дорожку сверху?

Что-то вроде этого: http://www.youtube.com/watch?v=J2vvH7oi8m8&feature=youtube_gdata_player

Кроме того, если это файл Flash, вы будете преобразовывать его в avi или как для iOS? Если вам все равно придется это делать, у вас есть шанс добавить звуковую дорожку.

Ответ 5

Можете ли вы использовать веб-сервис для объединения потоков в реальном времени с помощью FFMpeg, а затем передать один вывод в quicktime?

Чтобы разработать, возможно, библиотека могла бы работать как http://directshownet.sourceforge.net/about.html. Похоже, у них есть метод

DESCombine - библиотека классов, которая использует службы редактирования DirectShow для объединения видео и аудио файлов (или фрагментов файлов) в один выходной файл. Для использования класса предоставляется файл справки (DESCombine.chm).

Затем это можно использовать для возврата результирующих данных в качестве ответа на вызов и загрузки через игрока HTML5.