【发布时间】:2015-11-06 17:02:30
【问题描述】:
我可以访问 PCM 音频缓冲区的音频流。我应该清楚我无权访问音频文件。我只能访问 4096 字节的音频数据块流。
PCM 缓冲区采用以下格式:
- PCM 诠释 16
- 小端序
- 两个通道
- 交错式
为了在标准浏览器上支持音频播放,我需要将音频转换为以下格式:
- PCM 浮点数 32
- 大端序
- 两个通道(最多)
- 去交错
此音频来自 iOS 应用程序,因此我可以访问 Swift 和 Objective C(虽然我对 Objective C 不太满意...这使得 Apple 的 Audio Converter Services 几乎无法使用,因为 Swift 真的不喜欢指针)。
此外,播放将在浏览器上进行,因此我可以在客户端 Javascript 或服务器端处理转换。我精通以下服务器端语言,可以进行转换:
- Java(首选)
- PHP
- Node.js
- Python
如果有人知道用这些语言中的任何一种执行此操作的方法,请告诉我。我已经在这方面工作了足够长的时间,以至于我可能会理解如何做到这一点的非常技术性的描述。
我目前的计划是使用按位运算来解交织左右声道,然后使用Web Audio API 将 Int 16 Buffer 转换为 Float 32 Buffer。这看起来是个好计划吗?
感谢您的帮助,谢谢。
【问题讨论】:
标签: web audio-streaming pcm audio-converter interleave