让Emscripten流式音频工作

时间:2013-08-21 06:45:43

标签: emscripten

我正在努力让SoLoud音频引擎与Emscripten一起工作,而且它的表现相当奇怪。作为一项实验,我正在播放500毫秒的正弦波。

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

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

所以我的问题是 - 是否有任何方法可以获得流式音频(以便我自己进行混音并将样本缓冲区提供给某些API)以便在emscripten下工作?

1 个答案:

答案 0 :(得分:2)

目前,有一个emscripten的拉取请求,要求SDL实现使用Web Audio API(它目前使用的是Mozilla Audio API,这就是Chrome默认的原因):https://github.com/kripken/emscripten/pull/1299在同一个拉取请求中,我相信缓冲流支持有很多改进。

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