iOS Audio Unit 录音 AudioStreamBasicDescription 详解

在使用Audio Unit 录音和混音时发现耳机的声音只有一个声道有耳机的声音,经过仔细调试发现问题在 AudioStreamBasicDescription 配置的不对,当使用

AVAudioFormat 生成AudioStreamBasicDescription时 如果这样配置

[[AVAudioFormat alloc] initWithCommonFormat:AVAudioPCMFormatFloat32

                                                    sampleRate:kGraphSampleRate

                                                      channels:2

                                                   interleaved:NO];

发现只有耳机只有一个声道有声音 这里猜测是interleaved 交叉扫描没开由于是32位编码 在不开启交叉扫描时为了节省输出的音频大小 microphone只采集了一个声道。具体原因有待验证...

这样配置

[[AVAudioFormat alloc] initWithCommonFormat:AVAudioPCMFormatInt16

                                                    sampleRate:kGraphSampleRate

                                                      channels:2

                                                   interleaved:NO]

无论是否开启交叉扫描耳机两个声道都会有声音。

你可能感兴趣的:(iOS_音视频)