ios - 从另一个在后台播放的应用程序录制音频

标签 ios objective-c

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

关于ios - 从另一个在后台播放的应用程序录制音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28846661/

相关文章:

android - Google Analytics iOS SDK "1 second sessions"(可能是后台 session ?)

ios - 弹出到 Root View Controller 时无法更新导航栏

ios - 表格 View 的第一个单元格始终相同

iOS - 将 NSDictionary 复制到 SQLite3

ios - 正确使用 Enum,Button 总是相同的文本

iphone - 将 NSMutableArray 写入文件然后读取它

iphone - 获取 UIWebView 层次结构中的上一页

ios - CSSearchableItemAttributeSet 的 contentDescription 属性不支持换行格式

ios - 如何准确计算 iOS 8 上硬件解码的 FPS?

objective-c - 在 Mac OS X 上画一个正方形?