我正在寻找一种方法来记录从另一个应用程序在后台播放的音频.例如,能够记录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];
}