我有一个.NET网络应用程序,我在C#控制器中以原始PCM字节的形式接收来自另一个应用程序的实时音频。我想通过HTML5音频元件实时播放这个音频.将wav头添加到原始PCM字节并将数据通过音频元素作为音频/wav流是没有问题的。
同样,正如另一个职位中所指出的,问题在于缓冲量对于所谓的“实时”流来说往往是太多的。音频不开始播放,直到大约25秒的数据被读取(这大约需要5-6秒)。
我已经研究过如何使用MSE (https://en.wikipedia.org/wiki/Media_Source_Extensions)来手动处理缓冲量。但它目前似乎不支持wav格式(来源)。
通过在mp3中对数据进行实时编码,将数据更改为更受支持的格式(如C# ),有自己的注意事项(即填充0字节),因此我希望尽可能避免使用。
在增加对pcm/wav的支持之前,这个有可行的方法吗?
发布于 2019-01-29 15:29:20
您可以使用Web中的ScriptProcessorNode在很低的延迟时间内播放任意的PCM示例。然后,您可以管理任何您想要的缓冲。
只需将样本转换为±1.0的32位浮点即可。
https://stackoverflow.com/questions/54412230
复制相似问题