2010-07-15 146 views
1

请谅解,因为我对音频编解码器的理解是有限的。 我有一个来自IPCAM的音频源(通过htto // ... CGI接口)。 我想写几个客户端程序来播放Windows,MAC,以及Android手机上的这个音频源。音频采用G711编码(PCM ulaw)。Decode G711(PCM u-law)

我是否需要将PCM音频数据解码为原始音频数据,然后才能将它传递给音频引擎进行播放?如果是这样,是否有一些关于如何解码它的示例代码? 我很困惑,因为我相信PCM已经是RAW。我可以直接将它直接提供给Android上的音频引擎吗?

感谢很多提前

回答

5

这取决于您使用播放声音什么的API,但最需要线性PCM,你有μ律PCM,所以,除非您的API支持μ律播放,您需要将μ律采样值转换为线性。

使用G.711,压缩的μ律采样是8位,这些将被转换为14位线性值,您将以每个采样2字节的形式存储在缓冲区中。在G.711 Wikipedia page上有μ律编码的简要说明。

+0

你想成为可供聊一下吗?也许ios聊天室? – 2012-06-22 15:22:58

+0

@owen:我在iOS聊天室看了一下你的问题,但我不是真的iOS专家,也不能真正帮助μ-law的iOS特定播放 - 对不起 – 2012-06-22 15:33:03

+0

好吧,我有点好奇什么你想过AVLinearPCMBitDepthKey键。因为那是我的音频设置中的唯一区别(一个与另一个不一样)。你认为这对ulaw是必要的还是有影响的?如果你不知道我理解,只是想你可能能够理解音频格式部分。感谢您的时间,虽然 – 2012-06-22 15:50:27