Web 如何将PCM音频流转换为在线播放
我可以访问PCM音频缓冲区的音频流。我应该清楚我没有访问音频文件的权限。我只能访问4096字节的音频数据流。 PCM缓冲器采用以下格式:Web 如何将PCM音频流转换为在线播放,web,audio-streaming,pcm,audio-converter,interleave,Web,Audio Streaming,Pcm,Audio Converter,Interleave,我可以访问PCM音频缓冲区的音频流。我应该清楚我没有访问音频文件的权限。我只能访问4096字节的音频数据流。 PCM缓冲器采用以下格式: PCM Int 16 小恩迪亚 双通道 交错 要在标准浏览器上支持音频播放,我需要将音频转换为以下格式: PCM浮点32 大端 两个通道(最多) 去交错 这个音频来自iOS应用程序,所以我可以访问Swift和Objective C(尽管我对Objective C不太满意……这使得苹果几乎无法使用,因为Swift真的不喜欢指针) 此外,回放将在浏览器上进
- PCM Int 16
- 小恩迪亚
- 双通道
- 交错
- PCM浮点32
- 大端
- 两个通道(最多)
- 去交错
- Java(首选)
- PHP
- Node.js
- 蟒蛇
是的,这正是你需要做的。我在我的应用程序中也做了同样的事情,这种方法很有效,而且是唯一有意义的方法。由于带宽的原因,您不希望从服务器向客户端发送32位浮点采样。在客户端进行转换。非常感谢。很多事情都失败了,我想确保这种逐位策略没有根本缺陷。如果您不介意后续问题,您发现从手机向客户发送音频数据的最佳方式是什么?这是Chromecast应用程序,因此所有数据必须是文本。现在,我将音频数据作为base64编码字符串发送(据我所知,这是将文本数据发送到浏览器的唯一方法)。我更愿意发送UTF-16字符串,但我担心Javascript无法正确解析该字符串。@WilliamRosenbloom实际上可以通过websocket发送二进制数据。现代JavaScript实现支持类型化数组,因此您可以使用最原始有效的16位样本数组。BinaryJS为您包装了这个。()您可以在客户端和服务器之间打开任意流。我在这方面仍然有一些问题。解码后的音频中有很多噪音。如果你能看看我的名片,我将非常感激。再次感谢你。