2013-05-15 42 views
1

假設我有8位(單聲道和立體聲).wav文件。 當處理這個文件時,我不得不聲明指向數組的樣本。如何分別訪問立體聲音頻文件的L和R聲道採樣?

假設我爲樣本創建數組。那麼如果是mono,我使用for(i = 0; i < n; i++)來讀取每個樣本。

問:如何分別訪問右聲道和左聲道(立體聲)?

PS

我已經讀了很多關於「單聲道,立體聲和* .wave」但我仍然不明白我怎麼能實現訪問每個單獨...納爾

+0

在古羅馬錶演,回答你最後一段是:) –

+0

似乎是這樣.. – yulian

+0

是音頻交錯或不? – DevNull

回答

2

你仍然有一些樣品,問題是你如何解決個人價值觀。這是你如何做到這一點:

const UCHAR* pnSamples = ... 
if(bMono) 
{ 
    for(INT nIndex = 0; ...) 
    { 
    const UCHAR nSample = pnSamples[nIndex]; 
    // ... 
    } 
} else 
if(bStereo) 
{ 
    for(INT nIndex = 0; ...) 
    { 
    const UCHAR nLeftSample = pnSamples[2 * nIndex + 0]; 
    const UCHAR nRightSample = pnSamples[2 * nIndex + 1]; 
    // ... 
    } 
} 
+0

UCHAR是什麼意思? – yulian

+1

你需要無符號的8位整數,'unsigned __int8'或'unsigned char',或者在Windows中,它是'UCHAR'。 –

相關問題