假设我有8位(单声道和立体声) .wav 文件。 处理这个文件时,我必须声明指向样本数组的指针。
假设我为样本创建数组。然后如果是mono
,我会使用for(i = 0; i < n; i++ )
读取每个样本。
问:如何单独访问左右声道(立体声)?
PS
我已经阅读了很多关于“单声道,立体声和* .wave”的内容,但我仍然无法理解如何分别实现对每个通道的访问......
答案 0 :(得分: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];
// ...
}
}