我使用 audiounit 录制语音并使用 audioqueue 播放音频数据。当我设置:
[session setCategory:AVAudioSessionCategoryPlayAndRecord error:&error];
播放音频的音量将非常低。但是当我设置时:
[session setCategory:AVAudioSessionCategoryMultiRoute error:&error];
虽然音量会正常。但是iOS麦克风输出的音频数据不会一样长。使用前一种设置,audiodata长度将为4096,但后者将输出3760和3764的长度。这将导致我在对audiodata进行编码时崩溃。
我找到解决方案说我应该在打开录音机之前打开音频播放器,然后问题就解决了。不幸的是,我必须先打开录音机。所以我不知道如何设置音频会话我可以得到一个很大的音量和相同长度的音频数据。