AudioConverterRef具有不同数量的通道



我有一个4声道的音频格式,我想将其转换为2声道格式。kAudioConverterChannelMap只能丢弃额外的输入:

输入时>Out,第一个Out输入被路由到第一个Out输出,并且剩余的输入被丢弃。

是否可以使用kAudioConverterChannelMap指定通道映射,将1+2通道合并为一个通道,将3+4通道合并为输出格式的第二个通道?

如果没有,我应该使用什么进行转换?

AFAIK Apple除了丢弃额外的通道外,不提供减少音频流通道数的API。

为什么?我想,因为你如何做到这一点是一个个人的选择,如果他们真的想一想,他们可能会得出结论,没有一种方法能让每个人都高兴,所以最好选择一种会让每个人愤怒的方法:放弃。

那有什么大不了的?我认为这主要与";意思是";单个通道的。考虑";明显简单的";将立体声转换为单声道的情况——根据立体声音频的录制方式,它有着惊人的细微差别这是在一个理想的情况下,你的2声道音频实际上被声明为";立体声">(例如经由类似kAudioChannelLayoutTag_StereoAudioChannelLayoutTag(。

所以即使是";标记为";多声道音频非常模糊,因此唯一知道如何解释和减少您的4声道音频的声道数的人是

也就是说,使用一些Accelerate/vDSP数组函数,如vDSP_vadd,提供一个将偶数通道与偶数相加、将奇数通道与奇数相加的函数,会杀死它们吗?因为这可能就是你想要的。

最新更新