请耐心听,因为我对音频编解码器的了解有限。
我有一个来自IPCAM的音频源(通过htto // ... CGI接口(interface))。
我正在尝试编写一些客户端程序来在Windows,MAC和Android手机上播放此音频源。音频以G711(PCM ulaw)编码。
在可以将PCM音频数据传递到音频引擎进行播放之前,是否需要将PCM音频数据解码为原始音频数据?如果是这样,是否有一些有关如何解码的示例代码?
我感到困惑,因为我不知道PCM已经是RAW。例如,我可以直接将其馈送到Android上的音频引擎吗?
在此先感谢
最佳答案
这取决于您用来播放声音的API,但是大多数都需要线性PCM,并且您具有µ-law PCM,因此,除非您的API支持µ-law播放,否则您将需要将µ-law采样值转换为线性。
使用G.711,压缩的µ-law样本为8位,这些将转换为14位线性值,您将以每个样本2个字节的形式将其存储在缓冲区中。在G.711 Wikipedia page上对µ-law编码进行了简要说明。