是否可以在不使用AVAudioSessionCategoryPlayAndRecord的同时播放和录制音频

时间:2013-11-22 04:59:07

标签: objective-c avaudioplayer avaudiorecorder avaudiosession

这个想法来自这个应用程序(Keezy):http://keezy.net/

基本上,我试图允许用户同时收听音频和录音。我知道类别AVAudioSessionCategoryPlayAndRecord,但此类别会强制AVAudioPlayer的数量大幅减少。

尝试在AVAudioSessionCategoryPlayback时录制音频不起作用(不录制任何内容),其他类别似乎不相关。我想知道是否有办法实现Keezy的功能 - 高音量播放音频,同时允许用户同时录制音频。

(找不到任何关于此的示例/主题,在没有播放类别的情况下解决此问题。)

1 个答案:

答案 0 :(得分:8)

虽然解决方案仍然涉及PlayAndRecord类别,但需要添加的是类别选项的“AVAudioSessionCategoryOptionDefaultToSpeaker” - 允许音频以正常音量播放并录制。

示例:

[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionDefaultToSpeaker error:nil];