AVAudioSessionSilenceSecondaryAudioHintNotification何时被触发?

时间:2014-10-07 20:47:57

标签: ios objective-c avfoundation core-audio

引自Xcode doc,

  

AVAudioSessionSilenceSecondaryAudioHintNotification发布于主要内容   来自其他应用程序的主音频启动时的线程   停止。

     

订阅此通知以确保通知您的应用   当可选的辅助音频静音应该开始或结束时。

然而,当我的应用程序的音频正在播放时,我按遥控器开始播放音乐应用程序中的音乐。我的观察者回调中未触发此通知。我相信注册成功。

我的期望是错误的吗?它应该在不同的场景中被触发吗?有什么例子吗?

1 个答案:

答案 0 :(得分:2)

您需要将AVAudioSession类别设置为 AVAudioSessionCategoryAmbient ,然后您的应用才能播放后台应用(例如音乐或播客)。如果您将其设置为 AVAudioSessionCategorySoloAmbient ,那么它将不接受背景音乐

你可以这样做:

NSError *categoryError = nil;
if ([[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:&categoryError]) {
    printf("Setting AVAudioSession CategoryAmbient Succeeded\n");
} else {
    printf("Setting AVAudioSession CategoryAmbient Failed\n");
}

查看Audio Session Categories了解详情