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

roy*_*rma 8 objective-c avaudioplayer avaudiorecorder avaudiosession

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

基本上,我试图让用户同时收听音频和录音.我知道这个类别AVAudioSessionCategoryPlayAndRecord,但是这个类别会强制AVAudioPlayer减少它的数量.

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

(如果没有播放类别,找不到任何有关解决此问题的示例/主题.)

roy*_*rma 8

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

例:

[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionDefaultToSpeaker error:nil];
Run Code Online (Sandbox Code Playgroud)