我正在开发一款应用程序,可以在应用程序处于前台和后台时进行一些录制。这是有效的。但是,我注意到了这个系统'听起来像推送通知警报声音以及每当我的音频会话(见下文)处于活动状态时振动都会静音。即使应用程序在后台也是如此。
结果是我停止获取标准内容(如短信)的通知声音/氛围,而我的应用程序在后台并且录制已开启。
音频会话设置如下:
AVAudioSession* session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionMixWithOthers error:&error];
显然那些声音/振动是不可混合的,所以我猜他们会变得柔和。
有没有办法解决这个问题(同时仍然保持录音有效)?我如何录制并仍让用户获得推送通知声音和振动?
答案 0 :(得分:1)
你可以试试这个:
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord
withOptions:(AVAudioSessionCategoryOptionDefaultToSpeaker | AVAudioSessionCategoryOptionDuckOthers)
error:nil];
此外,您可以尝试使用以下方法取消激活音频会话:
[[AVAudioSession sharedInstance] setActive:NO withOptions:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error:nil];
然后重新激活它:
[[AVAudioSession sharedInstance] setActive:YES error:nil];