javascript - 在 <audio> 中使用 Javascript 创建音频

标签 javascript html html5-audio

我无法通过网络搜索找到任何东西,但是有没有计划制作一个 API 来生成要在 HTML5 中播放的音频 block <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();

最佳答案

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

当然,要注意的是生成音频数据需要更多的计算,并且会占用更多空间(在某些情况下这可能会与数据 URL 大小限制发生冲突……想到 IE 和 Mobile Safari ).因此,您将仅限于小片段,并且您可能会受到 audio 标签的开始/停止时间的限制。

Mozilla 有一个 audio buffer API他们正在努力,这可以为浏览器带来真正的编程生成的音频。与此同时,它要么是 Data URI hack,要么是插件类型的东西,比如 Flash(在版本 10 中有一个程序化的音频缓冲区)或 Java。

请注意:我启动了一个 JavaScript Audio google group几个月前。目前还没有太多讨论,但如果有足够多的对浏览器上下文中的音乐/音频/声音感兴趣的人注册,我会很高兴,这样我们就可以达到临界质量并开始拥有就这样的话题进行实际对话。

关于javascript - 在 <audio> 中使用 Javascript 创建音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3479780/

相关文章:

javascript - 在动态创建的 DOM 中计算值

javascript - jQuery 日期选择器未显示在 html 中动态生成的输入字段中

javascript - Jquery sortable serialize 给出空对象数组

javascript - 控制首先加载哪个图像

javascript - 用js获取mp3文件频率数据

javascript - 我如何通过 Web 声音 API 播放一段声音样本?

javascript - 如何使用 JS 显示和隐藏响应式汉堡菜单

html - Bootstrap 4 全屏模式在 Safari 中出现轮播问题

html - 更改 chrome 和 firefox 的 file_field_tag 文本字段大小

带有播放列表的 Javascript 音频