gpt4 book ai didi

web-audio-api - 使用网络音频录制时 createmediastreamsource 输入缓冲区中的零值数据

转载 作者:行者123 更新时间:2023-12-01 16:50:53 27 4
gpt4 key购买 nike

我正在尝试通过 USB 麦克风录制现场音频,然后将其转换为 WAV 并上传到服务器。我在 Windows XP 上使用 Chrome Canary(最新版本)。我的开发基于 http://webaudiodemos.appspot.com/AudioRecorder/index.html 中的示例

我看到当我激活录音时,onaudioprocess 事件输入缓冲区(例如 e.inputBuffer.getChannelData(0))都是零值数据。自然地,在这种情况下没有声音输出或记录。我已经通过将输入缓冲区数据替换为产生显示在输出 WAV 文件中的音调的数据来验证其余代码。当我使用 createMediaStreamSource 以外的方法时,一切正常。例如,我可以使用 createObjectURL 并为其设置一个 src,然后成功地听到实时播放的现场音频。当然,我还可以加载一个音频文件并使用 createBufferSource,在播放过程中(我听到的)看到 inputBuffer 中有非零数据。

由于我在网上看到的大多数网络音频录制演示都依赖于 createMediaStreamSource,我猜测这在 Chrome 的某些后续版本中被无意中破坏了。谁能证实这一点或建议如何克服这个问题?

最佳答案

这可能不是 Chrome 的版本。实时输入现在仍然有一些高要求:

1) Windows 上的输入和输出采样率必须相同2) 仅限 Windows 7+ - 我不相信它可以在 Windows XP 上运行,这可能会让你失望。3) 输入设备必须是立体声(或 >2 个 channel )- 许多(如果不是大多数的话)USB 麦克风显示为单声道设备,并且 Web Audio 还不能与它们一起工作。

当然,我假设我的 AudioRecorder 演示也不适合您。

随着时间的推移,这些限制将被取消。

关于web-audio-api - 使用网络音频录制时 createmediastreamsource 输入缓冲区中的零值数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16898307/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com