问题标签 [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 投票
2 回答
2260 浏览

api - Web 音频 API 复音 - 使用 2 个不同的增益节点不起作用?

我似乎无法创建两个具有独立增益包络的振荡器。

下面的代码创建了两个按钮,每个按钮都以不同的音高播放正弦音。当我单击第一个按钮时,我听到音量按应有的增长。但是,当我单击第二个按钮时,音调的反应就好像它连接到第一个音调的增益一样。例如,如果我在第一个音调的音量为 1 时单击第二个按钮(打开第二个音调),则第二个音调将以音量 1 进入,即使它应该在整个过程中从 0 到 1 到 0 包络10 秒。

每个音频上下文只能有一个增益节点吗?或者是否有其他原因可以连接这些振荡器的增益?另外,我弹了一次之后,就不能再弹了,这让我特别觉得自己做错了什么。:)

谢谢。链接在下面,代码在下面。这是我在这里的第一篇文章,所以如果您需要其他任何内容,请告诉我。此代码必须在支持网络音频 api 的 Chrome 或 Safari 版本中运行。

http://whitechord.org/just_mod/poly_test.html

WAAPI 测试

0 投票
1 回答
1988 浏览

javascript - 如何在网络音频 API 中反向播放但同时保持正向版本?

据我所知,google Chrome (v21) 中的 Web Audio API 不支持以下内容:

我非常希望!我会耐心等待,但与此同时,这篇文章有一个不错的替代解决方案。我采用它来尝试反转从加载的 bufferlist加载的我自己的音频样本,希望我可以同时拥有每个加载的缓冲区的正向和反向版本,如下所示:

上面的函数确实反转了播放,但是它反转了“storedbufferR”“storedbuffer”,这样所有的缓冲区都被反转了!

所以这就是我迷路的地方......我知道 Array.protoype 会影​​响所有数组,所以我想我可以看到“storedBuffer”如何受到“storedBufferR”上的反向方法的影响。编辑:反向方法只影响有问题的数组

但是是否可以重写上述函数以确保 array.protoype 只影响我想要反转的存储缓冲区?如果没有,是否有另一种方法可以同时存储正向和反向版本?

0 投票
12 回答
26005 浏览

javascript - iOS 6 Web Audio API 没有声音

看到 iOS 6 支持 Web Audio API,我真的很兴奋,因为我们制作 HTML5 游戏。但是,我无法让 iOS 6 使用 Web Audio API 播放任何声音,其中的示例在桌面 Chrome 中运行良好。

这是一个带有触摸控制和通过 Web Audio API 播放音频的 HTML5 游戏(如果存在 - 如果不存在,它将回退到 HTML5 音频):

http://www.scirra.com/labs/sbios6b/

编辑:@Srikumar 提出了一些解决方法。我在下面的版本中应用了它们。它仍然不起作用!

http://www.scirra.com/labs/sbios6f/

在桌面 Chrome 上一切正常,但 iOS 6 完全没有声音。我在调试它时遇到了麻烦,因为我只进行 Windows 开发,而 iOS 6 用远程 Web 检查器替换了调试模式,这显然在 Safari for Windows 上不可用。使用一些警报,我确实发现它正确识别了 Web 音频 API,使用它,检测到没有 Vorbis 支持,因此回退到 AAC 音频,解码缓冲区然后播放它,没有抛出任何错误,但我什么也没听到。而且,当然,我尝试将音量调到最大:)

不应该存在编解码器问题,因为 iOS 6 可以正常播放 AAC - 您可以浏览到游戏播放的 .m4a 文件之一,并且直接从 Safari 访问它可以正常播放。

查看 iOS 6 上的 Web 音频 API 示例:http: //chromium.googlecode.com/svn/trunk/samples/audio/samples.html - 其中一些有效,而另一些则无效。例如,Chrome Audio Visualizer可以工作,但Javascript Drone不能。

iOS 6 上的 Web Audio 和桌面 Chrome 之间肯定存在一些微妙的不兼容。我错过了什么?

0 投票
3 回答
9018 浏览

javascript - 使用 Web Audio API 创建 10 段均衡器

我正在尝试使用 Web Audio API 重新创建类似
Winamp 的 10 波段均衡器的东西。

Winamp 的 10 段均衡器
(来源:head-fi.org

据我所知,我必须创建 10 个双二阶滤波器,将它们设置type2(对于带通滤波器)并将它们分别设置frequency[60, 170, 310, 600, 1000, 3000, 6000, 12000, 14000, 16000]。一旦我这样做了(这就是我有点困惑的地方),我将为每个频率“波段”创建一个单独的增益节点并将其值绑定到一个滑块。

假设所有这些都是正确的,那么剩下的唯一步骤是将所有 10 个增益节点连接到音频上下文destination(我想这将占用所有 10 个频率“波段”并将它们混合/同步在一起)。这是创建 Web 音频 10 频段均衡器的正确方法吗?

我感到困惑的主要事情是我如何将源“连接”到 10 个频带滤波器(+ 相关的增益节点),因为所有节点只有一个输入或输出(包括目标)。

0 投票
1 回答
2814 浏览

javascript - 网络音频 API 输出

我正在开发一个基于社区的 Internet Radio,用户可以在其中录制自己的消息。

我希望我的用户能够在他们的录音中添加效果(例如 Biquad Filters、Reverb aso..)

是否可以将最终混音(包括效果)处理为单个 PCM 输出(例如音频标签src="data:audio/wav;base64"),以便我可以通过邮寄将混音发送到服务器?

我试过这个:

但它没有给我任何东西。

0 投票
1 回答
1690 浏览

html - 网络音频 HTML5 createMediaElementSource 无法按预期方式工作?INVALID_STATE_ERR:DOM 异常 11

我有一个网络音频项目,需要在页面上获取现有标签,抓取它并通过我的网络音频音频上下文播放它。

也许我在这里犯了一个错误,但是像这样将文件加载到缓冲区中是可行的:

但是,如果我在页面上使用标签设置它并尝试播放如下声音:

我得到 INVALID_STATE_ERR: DOM Exception 11。我觉得我已经用尽了我的谷歌搜索,每个人发布的 html5rocks 示例让他在 jQuery 中创建标签,而不是使用页面上已经存在的标签。

这可能吗?任何帮助表示赞赏!

0 投票
2 回答
1941 浏览

html - 是否有使用 processing.js 可视化麦克风输入的代码示例?

我想使用 p5.js 在浏览器中可视化麦克风输入(最好是 chrome)。

然而,网络音频 api https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html让我抓狂,因为它非常复杂。

我只想使用声音的幅度来控制 p5 中的绘图。就这么简单。

有人知道是否有任何相关的代码示例吗?

非常感谢。

0 投票
1 回答
293 浏览

javascript - Internet Explorer 中的 pcm 数据支持

用于在 HTML5 中播放音频 PCM 数据,在 WebAudio API(Chrome..)中,(mozSetup,mozWriteAudio 在 firefox 中)。在这些 API 中,我们可以附加 PCM 数据(firefox)或者为播放数据提供计时器(chrome 中的 noteon 函数) . 我为 Internet Explorer 搜索这些类型的 API,但找不到任何方法。IE中有什么方法可以播放pcm数据吗?

0 投票
6 回答
6283 浏览

web-audio-api - 使用 HTML5 Web Audio Api 进行音频录制

有谁知道 Web Audio API 是否能够保存使用 WebAudioContext 播放的音频?

0 投票
1 回答
646 浏览

javascript - decodeAudioData 上的 Chrome 选项卡崩溃

尝试使用我为列景观制作的小型引擎构建 webgl 音频可视化器,我认为这对于随着时间的推移的频率分布非常有用。

现在这个是从coffeescript编译的,使选项卡崩溃:

从测试来看,这发生在 loadSound 函数中上下文的解码音频数据调用中。

通过使用同一文件的 mp3 和 ogg 进行测试。

按照http://www.html5rocks.com/en/tutorials/webaudio/intro/http://www.smartjava.org/content/exploring-html5-web-audio-visualizing-sound上的教程 了解有关网络音频API

我正在使用 XAMPP 来绕过跨源共享策略,如果这有影响的话。

Chrome版本为:22.0.1229.94 感谢帮助!