使用<audio> </audio>中的Javascript创建音频

时间:2010-08-13 18:42:32

标签: javascript html5 html5-audio

我无法通过网络搜索找到任何内容,但有没有计划制作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();

2 个答案:

答案 0 :(得分:5)

理论上,您现在可以实际执行此操作 - 将音频元素的source属性设置为您在JavaScript中即时构建的data URI。我使用embed元素和MIDI文件完成了这项工作,这些文件适用于安装了QuickTime或其他媒体助手的计算机。

当然,问题在于生成音频数据的计算量更大,占用的空间更多(在某些情况下可能与数据URL大小限制相冲突... IE和Mobile Safari会浮现在脑海中)。因此,您只能使用小剪辑,并且您可能会受到audio标记的开始/停止时间的限制。

Mozilla有一个audio buffer API他们正在研究,它可以为浏览器带来真正的编程生成的音频。与此同时,它既可以是数据URI黑客,也可以是插件类型的东西,比如Flash(在版本10中有一个编程音频缓冲区)或Java。

还有一点说明:几个月前我开始了JavaScript Audio google group。目前还没有很多讨论,但是如果有足够的人对浏览器环境中的音乐/音频/声音感兴趣,那么我就会喜欢它,以便我们可以达到临界质量并开始拥有关于主题的实际对话就像这样。

答案 1 :(得分:3)

Mozilla发布了一个音频数据API,适用于Firefox 4测试版和Minefield nightlies:

https://wiki.mozilla.org/Audio_Data_API

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

据我了解,还有一个类似的WebKit项目。

W3C音频孵化器组已经成立 - 他们的任务是“探索启动一个或多个规范的可能性,这些规范涉及高级音频功能的各个方面,包括读取和写入原始音频数据,以及合成声音或语音”

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