我正在制作一个iOS应用程序,其中我使用AVAudioRecorder录制外部音频,并通过averagePowerForChannel函数计算功率。当我的应用程序进入后台时,一切都很顺利,但当我在iPhone音乐应用程序中启动歌曲时,我的录制就停止了。然后我使用了以下代码:
AVAudioSession *session = [AVAudioSession sharedInstance]; [session setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionMixWithOthers error:nil];
现在,当我从iPhone音乐应用程序播放音乐时,它不会中断录制,但播放的音量非常低。
我也想录制这首iOS音乐应用程序歌曲,因为我在代码中的某处使用了power。
发布于 2019-02-14 14:48:06
经过大量的实验,我终于知道了在正常音量的音乐应用中播放歌曲需要什么。
AVAudioSessionCategoryOptionMixWithOthers将允许录制附近的音频。但是如果你想录制iPhone扬声器产生的音频,你也需要添加这个类别AVAudioSessionCategoryOptionDefaultToSpeaker。
下面是工作代码:
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord
withOptions:AVAudioSessionCategoryOptionMixWithOthers|AVAudioSessionCategoryOptionDefaultToSpeaker
error:nil];https://stackoverflow.com/questions/39176728
复制相似问题