Я ничего не могу найти с помощью сетевого поиска, но есть ли планы создать API для генерации звуковых фрагментов, которые будут воспроизводиться в теге HTML5 <audio>?

РЕДАКТИРОВАТЬ: это пример ::

PSEUDOCODE::
var music = new Song([Array of hertz levels or notes]);
var box = document.createElement('audio');
document.body.appendChild(box);
box.src = music.convert();
box.play();
7
Rixius 13 Авг 2010 в 22:42

2 ответа

Лучший ответ

Теоретически вы можете сделать это прямо сейчас - установите для атрибута источника аудиоэлемента значение URI данных, который вы создаете на лету в своем JavaScript. Я сделал это с помощью элементов embed и файлов MIDI, которые работают на машинах с установленным QuickTime или другим вспомогательным средством мультимедиа.

Уловка, конечно же, в том, что генерация аудиоданных требует больших вычислительных ресурсов и занимает больше места (что может противоречить ограничению размера URL-адреса данных в определенных контекстах ... На ум приходят IE и Mobile Safari). Таким образом, вы будете ограничены небольшими клипами, и вы можете быть ограничены временем запуска / остановки для тега audio.

В Mozilla есть API аудио-буфера, над которым они работают, который может передавать в браузер настоящий программно сгенерированный звук. Между тем, это либо взломы Data URI, либо штуки типа плагинов вроде Flash (который получил программный аудио-буфер в версии 10) или Java.

Еще одно примечание. Несколько месяцев назад я основал группу Google по JavaScript-аудио. Там пока не так много дискуссий, но я был бы рад, если бы достаточно людей, которые интересовались музыкой / аудио / звуком в контексте браузера, зарегистрировались, чтобы мы могли достичь критической массы и начать актуальные разговоры на такие темы.

5
Weston C 13 Авг 2010 в 19:06

Mozilla выпустила API аудиоданных, который работает в бета-версиях Firefox 4 и ночных сборках Minefield:

https://wiki.mozilla.org/Audio_Data_API

http://vocamus.net/dave/?p=1148

Насколько я понимаю, есть еще аналогичный проект WebKit.

Была сформирована группа W3C Audio Incubator Group - их миссия состоит в том, чтобы «изучить возможность запуска одной или нескольких спецификаций, касающихся различных аспектов расширенной звуковой функциональности, включая чтение и запись необработанных аудиоданных и синтез звука или речи».

http://www.w3.org/2005/Incubator/audio/

3
Sam Dutton 12 Окт 2010 в 14:02