objective-c - 是否可以在不使用 AVAudioSessionCategoryPlayAndRecord 的情况下同时播放和录制音频

标签 objective-c avaudioplayer avaudiorecorder avaudiosession

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

基本上,我试图让用户可以同时收听音频和录音。我知道 AVAudioSessionCategoryPlayAndRecord 类别,但此类别强制大幅降低 AVAudioPlayer 的音量。

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

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

最佳答案

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

例子:

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

关于objective-c - 是否可以在不使用 AVAudioSessionCategoryPlayAndRecord 的情况下同时播放和录制音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20137330/

相关文章:

iPhone如何在打字时获取UITextField的文本?

iphone - 使用 avaudioplayer 从 iPod 音乐库播放 .m4a 文件

iphone - 路由 iPhone 音频声音

Swift 2.2 单播放/暂停 UIButton

Android:初始化 native AudioRecord 对象时 AudioRecord 错误代码 -20

iOS:AVAudioRecorder.prepareToRecord() 失败但没有错误

iphone - iOS App Documents目录被删除

iphone - 获取@interface 的所有变量名或属性

objective-c - 子类是否继承了 Objective-C 中其父类的协议(protocol)?

xcode - 在录制音频剪辑时设置时间限制?