1

我正在尝试让 SoLoud 音频引擎与 Emscripten 一起工作,但它的行为相当奇怪。作为一个实验,我正在播放一个 500 毫秒的正弦波。

使用 2048 个样本缓冲区,延迟大约为一秒或更长时间,输出的是 25 毫秒的正弦波。如果我将缓冲区减少到 256 个样本,延迟会好一些(仍然很差),输出会增长到 500 毫秒左右,但不完全是 500 毫秒,而且声音无论如何都不干净。这是用 Firefox 的;铬是沉默的。

emscripten/tests/sdl_audio* 测试都使用 sdl_mixer 而不是直接使用流。

所以我的问题是 - 有没有办法让流音频(以便我自己进行混合并将样本缓冲区提供给某些 API)在 emscripten 下工作?

4

1 回答 1

2

目前,有一个对 emscripten 的拉取请求,以使 SDL 实现使用 Web 音频 API(它目前使用 Mozilla 音频 API,这就是 Chrome 保持沉默的原因):https ://github.com/kripken/emscripten/pull/1299在同一个拉取请求中,我相信对缓冲区流支持进行了许多改进。

否则,OpenAL 实现使用 Web 音频,并且当前在主分支中具有缓冲区流支持。

于 2013-08-21T22:21:55.807 回答