Воспроизведение локальных аудиофайлов с помощью Flash и/или HTML5

Я понимаю, что можно воспроизводить аудио с помощью Flash и HTML5, передав URL-адрес.

Однако можно ли получить ссылку на аудиофайл с помощью файлового браузера (с помощью HTML5 или Flash), чтобы затем воспроизвести этот локальный файл, опять же с помощью Flash или HTML5?

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


person Tom    schedule 09.07.2011    source источник


Ответы (1)


Возможное решение:

window.URL.createObjectURL и Audio(src)

Это решение работает с созданием URL-адресов объектов и конструктором Image, но я не уверен, насколько надежна поддержка конструктора Audio.

У вас нет браузера, который поддерживает оба из них, но вы можете протестировать их. Вам потребуется использовать HTML5 File API, чтобы загрузить аудиофайл и управлять им с помощью JavaScript.

person Raynos    schedule 09.07.2011
comment
Я проверил ваше решение: jsfiddle.net/AKCYx. Это прекрасно работает. Однако, поскольку HTML5 не воспроизводит столько кодеков (например, mp3 в большинстве браузеров), я надеюсь, что те же функции доступны во флэш-памяти. - person Tom; 09.07.2011
comment
@Tom Safari, Chrome и IE9 поддерживают mp3. К черту пользователей firefox ;). Носитель HTML5 не готов к использованию в качестве локального устройства. Лучшее, что вы можете сделать, это написать аддон firefox для кодека html5 audio mp3 и отказаться от поддержки Opera mp3. Или злоупотребляйте flash, чтобы обойти эти надоедливые барьеры безопасности html5;) - person Raynos; 10.07.2011
comment
@Raynow, ну, если то же самое возможно со вспышкой, это будет оптимальная комбинация. - person Tom; 10.07.2011