ios – 从后台播放的其他应用录制音频

我正在寻找一种方法来记录从另一个应用程序在后台播放的音频.例如,能够记录Pandora / Spotify正在播放的内容.

根据我的理解,这是不可能的,Snapchat的最新更新支持录制视频时的背景音频.

This post显示了如何允许音频在后台继续,但是只要我设置[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryRecord error:nil];背景音频立即停止.

Snapchat如何在录制时允许背景音频继续播放?

最佳答案 初始化AVCaptureSession时设置其属性:

    AVCaptureSession *session = [[AVCaptureSession alloc] init];
       ...
    session.automaticallyConfiguresApplicationAudioSession = NO;

在开始录制视频之前,请设置AVAudioSession类别:

if ([AVAudioSession sharedInstance].category != AVAudioSessionCategoryPlayAndRecord) {
   [[AVAudioSession sharedInstance] setActive:NO withOptions:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error:nil];
   [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:(AVAudioSessionCategoryOptionDefaultToSpeaker |  AVAudioSessionCategoryOptionDuckOthers) error:nil];
   [[AVAudioSession sharedInstance] setActive:YES error:nil];
}
点赞