2010-07-15 196 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