问题标签 [web-audio-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1223 浏览

google-chrome - Chrome 网络音频无法播放我的音频

我只有 Chrome 网络音频的最基本(我认为)实现。

我在 Chrome 13 上启用了网络音频,但我的声音无法播放。我看到它被加载(http://pieterhordijk.com/sandbox/html5-audio-api/webkit-audiocontext-interface),但它只是不播放。

0 投票
2 回答
8474 浏览

html - 使用纯 JavaScript 和 Chromium WebAudio API 生成音调

如何仅使用 javascript 和 Chromium 的 WebAudio API 生成音调(例如纯正弦波)?

我想完成类似Firefox 的功能

此处的 Chromium WebAudio 演示似乎都使用了预先录制的<audio>元素。

谢谢!

0 投票
1 回答
1302 浏览

javascript - 用 Chrome webkitAudioContext 开始播放中间加载的音频文件?

我正在使用 Chrome 网络音频 API 和 webkitAudioContext 来播放循环。我有几个循环,我在它们之间交叉淡入淡出,类似于 chromium 博客上的数字 DJ示例。

在他们的示例中,当循环到达循环结束时,他们正在切换样本,然后他们开始播放下一个加载的循环。我想立即开始新的循环并在两者之间交叉淡入淡出,但我还没有找到一个关于如何在中间开始播放新音频文件的示例,而不仅仅是从开始。

我查看了W3C Web Audio API并且您发送的 noteOn 参数只是与音频应该开始播放时的上下文 currentTime 属性相关的时间编码。它总是从样本的开头开始播放。

是否有更多文档或我忽略了如何在 2 秒内开始播放音频文件?

0 投票
1 回答
1928 浏览

api - Web 音频 API WaveShaperNode

你如何在网络音频 api 中使用 waveshapernode?特别是曲线 Float32Array 属性?

0 投票
1 回答
1268 浏览

javascript - Web Audio 中 AudioNode 的清理

Web Audio API 文档并没有真正解释AudioNode一旦你完成它会做什么。例如,如果我完成了一个AudioBufferSourceNode并且我想摆脱它,只是调用它就足够了noteOff()还是我需要disconnect它?

0 投票
2 回答
8472 浏览

javascript - 有没有办法使用 Web Audio API 比实时更快地采样音频?

我正在使用 Web Audio API 并试图找到一种导入 mp3 的方法(因此这仅在 Chrome 中),并在画布上生成它的波形。我可以实时执行此操作,但我的目标是比实时更快地执行此操作。

我能找到的所有示例都涉及从分析器对象读取频率数据,在附加到 onaudioprocess 事件的函数中:

不过,它似乎analyser.frequencyBinCount只在播放声音时才会填充(关于缓冲区被填充的事情)。

我想要的是能够尽可能快地手动/以编程方式逐步浏览文件,以生成画布图像。

到目前为止,我得到的是:

但是 getChannelData() 总是返回一个空类型数组。

任何见解都值得赞赏 - 即使事实证明它无法完成。我想我是互联网上唯一一个不想实时做事的人。

谢谢。

0 投票
4 回答
12714 浏览

audio - Chrome 支持的音频文件格式?

我对使用Web Audio API很感兴趣。不幸的是,我的音频文件都是 Chrome 无法解码的深奥格式。(它们是 .wav,但采用 32 位浮点编码以 96 kHz 采样。)

我有什么方法可以查询我的浏览器 (Chrome) 以准确了解它支持哪些音频格式和编码?

更新

我在这里找到了 Chrome 支持的文件格式列表:https ://sites.google.com/a/chromium.org/dev/audio-video

0 投票
1 回答
4419 浏览

html - 通过 webAudio API 播放 pcm 数据

嗨,我正在研究 WebAudio API。我阅读了HTML5 Web Audio API,从 javax.sound 移植并获得了失真链接,但没有像在 java API 中那样获得良好的质量。我正在从服务器以有符号字节获取 PCM 数据。然后我必须把它改成 16 位格式。为了改变我正在使用(firstbyte<<8 | secondbyte),但我无法获得良好的音质。转换或任何其他方式以获得良好的声音质量有什么问题吗?

0 投票
1 回答
376 浏览

windows - Windows 上的网络音频 API?

我正在尝试在 Windows 上使用每晚构建的 WebKit运行Web Audio API 演示。

演示无法运行,控制台抛出错误(ReferenceError: Can't find variable: webkitAudioContext)。

有谁知道目前是否可以在 Windows 上使用 Web 音频 API 和 WebKit nightly builds?如果是这样,我需要采取哪些步骤才能使演示运行?我是否需要设置环境变量,或将命令行参数传递给可执行文件之类的?

任何建议将不胜感激。

0 投票
1 回答
1625 浏览

javascript - 使用 JavaScriptNode(Web 音频 API)制造冲动

我正在使用 Web Audio API,并且正在尝试制作一个输出脉冲的 JavaScriptNode。也就是说,我想要一个输出 1 后跟一大堆零的节点,仅此而已。

我认为下面的代码将是执行此操作的明智方法。我将一个名为“timeForAnImpulse”的变量初始化为 true,并使用该变量触发音频回调的脉冲输出。在回调中,我将“timeForAnImpulse”设置为 false。

这似乎应该有效,但事实并非如此。我得到的不是单个脉冲,而是一个脉冲序列(每个缓冲区开头的 1)。知道我做错了什么吗?