2

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

[recordSettings setValue:[NSNumber numberWithInt: 1] forKey:AVNumberOfChannelsKey];

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

截图 VLC

有趣的是,在 iPhone 上使用 Apple 的Voice Memo应用程序录制的文件表现出相同的行为。它们似乎是stereo几个音频播放器中的文件,但是当我在 Audacity 中打开它们时,结果发现它们只有一个通道。

我不敢相信所有那些著名的媒体播放器都是错误的。那么有没有办法告诉AVAudioRecorder以某种方式设置频道号,以便所有主要媒体播放器都能正确检测到它?

4

1 回答 1

3

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

于 2019-03-02T17:59:31.653 回答