为什么许多音频播放器将我的单声道 AAC (m4a) 文件解释为立体声?

Mis*_*cha 2 aac m4a channel avaudiorecorder ios

mono在我的iPhone应用程序中,我使用AAC(m4a容器)录制音频文件AVAudioRecorder,即我明确设置

[recordSettings setValue:[NSNumber numberWithInt: 1] forKey:AVNumberOfChannelsKey];
Run Code Online (Sandbox Code Playgroud)

当在Audacity等音频编辑器中打开这些文件时,它们仅按预期显示一个通道。但是,有许多流行的音频播放器(例如VLCfoobar2000)将文件解释为stereo. 例如,当我Media Information... > Codec Details在 VLC 中显示时,它看起来像这样:

屏幕截图 VLC

有趣的是,用iPhone 上的Apple语音备忘录应用程序录制的文件也显示出相同的行为。它们似乎是stereo多个音频播放器中的文件,但当我在 Audacity 中打开它们时,发现它们只有一个通道。

我不敢相信所有那些知名的媒体播放器都有缺陷。那么有没有什么方法可以告诉您AVAudioRecorder以某种方式设置频道编号,以便所有主要媒体播放器都可以正确检测到它?

小智 5

(我知道这是一个旧线程,但为了任何人在这里谷歌搜索......)答案似乎是 AAC (我假设你的编码器使用 AAC-HE)总是编码为两通道单声道 - 在其他换句话说,音频本身被缩混为单声道,但它所在的文件由两个独立的音频通道组成,每个通道都具有相同的音频。有趣的是,你安装的 Audacity 显然将其显示为一个频道 - 我的安装将其显示为两个频道。迄今为止,我还没有发现任何方法可以将任何 AAC 编码的文件强制发送到一个通道。