我正在创建一个iOS应用程序,我正在使用AVAudioRecorder
来记录外部音频并通过averagePowerForChannel
函数计算能力。当我的应用程序进入后台时一切顺利但当我在iPhone音乐应用程序中启动歌曲时,我的录制停止。
然后我使用了以下代码:
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionMixWithOthers error:nil];
现在,当我从iPhone音乐应用程序播放音乐时,它可以在不中断录制的情况下播放,但播放的音量非常低。
我想录制这首iOS音乐应用程序歌曲,因为我在代码中的某处使用了电源。
答案 0 :(得分:0)
经过大量的实验,最终我知道了用Music App正常音量播放歌曲需要什么。
AVAudioSessionCategoryOptionMixWithOthers将允许录制附近的音频。但是,如果要录制iPhone扬声器产生的音频,则需要添加此类别以及AVAudioSessionCategoryOptionDefaultToSpeaker。
下面是工作代码:
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord
withOptions:AVAudioSessionCategoryOptionMixWithOthers|AVAudioSessionCategoryOptionDefaultToSpeaker
error:nil];