如何录制在iPhone音乐App中播放的音乐

时间:2016-08-27 01:53:08

标签: ios objective-c iphone avaudiorecorder

我正在创建一个iOS应用程序,我正在使用AVAudioRecorder来记录外部音频并通过averagePowerForChannel函数计算能力。当我的应用程序进入后台时一切顺利但当我在iPhone音乐应用程序中启动歌曲时,我的录制停止。 然后我使用了以下代码:

AVAudioSession *session = [AVAudioSession sharedInstance]; [session setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionMixWithOthers error:nil];

现在,当我从iPhone音乐应用程序播放音乐时,它可以在不中断录制的情况下播放,但播放的音量非常低。

我想录制这首iOS音乐应用程序歌曲,因为我在代码中的某处使用了电源。

1 个答案:

答案 0 :(得分:0)

经过大量的实验,最终我知道了用Music App正常音量播放歌曲需要什么。

AVAudioSessionCategoryOptionMixWithOthers将允许录制附近的音频。但是,如果要录制iPhone扬声器产生的音频,则需要添加此类别以及AVAudioSessionCategoryOptionDefaultToSpeaker。

下面是工作代码:

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