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

问题描述 投票:1回答:1

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

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

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

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

ios objective-c iphone avaudiorecorder
1个回答
0
投票

经过大量的实验,我终于知道了正常音乐应用程序播放歌曲需要什么。

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

以下是工作代码:

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord
                      withOptions:AVAudioSessionCategoryOptionMixWithOthers|AVAudioSessionCategoryOptionDefaultToSpeaker
                            error:nil];
© www.soinside.com 2019 - 2024. All rights reserved.