Ios 不允许其他应用播放音乐

Ios 不允许其他应用播放音乐,ios,objective-c,avaudiosession,Ios,Objective C,Avaudiosession,我们正在开发一个VOIP应用程序,虽然有一个活动呼叫,但我们不希望允许其他应用程序播放音乐或其他东西(如Whatsapp)有没有正常的方法,你能帮忙吗 编辑1:我认为我们需要从倾听观察者的声音开始 接受答案编辑2: 当声音中断开始时,再次尝试仅激活音频会话。这很有效。谢谢你KudoCC在你的应用程序中尝试此代码,以便在通话时暂停背景音频 [[AVAudioSession sharedInstance] setActive:NO withOptions:AVAudioSessionSetActi

我们正在开发一个VOIP应用程序,虽然有一个活动呼叫,但我们不希望允许其他应用程序播放音乐或其他东西(如Whatsapp)
有没有正常的方法,你能帮忙吗

编辑1:
我认为我们需要从倾听观察者的声音开始


接受答案编辑2:

当声音中断开始时,再次尝试仅激活音频会话。这很有效。谢谢你KudoCC

在你的应用程序中尝试此代码,以便在通话时暂停背景音频

[[AVAudioSession sharedInstance] setActive:NO withOptions:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error:&error];
当其他应用程序使用AVAudioPlayer时,它很有用


有关更多详细信息,请参阅以下链接,其中有一个表格:


由于您的应用程序支持VoIP,因此需要播放和录制音频,并且您需要中断不可混音的应用程序音频,因此
AVAudioSessionCategoryPlayAndRecord
是正确的类别。此外,在播放/录制音频时,您应该重新激活音频会话,以便类别生效。

谢谢您的帮助,但您的建议是关于恢复与我的问题无关的其他应用程序音乐。“活动通话”是否指系统电话通话?或者您的应用程序的VOIP呼叫?为什么您认为observe
AVAudioSessionInterruptionNotification
会起作用?它是VOIP呼叫(也使用CallKit、iOS 10功能向系统报告)。如果我们观察到该通知,我们可以再次激活AudioSession,从而控制手机音频输出。但我试过了,但没用。你的应用程序是否使用了
AVAudioSessionCategoryPlayAndRecord
category?您可以在播放/录制音频时尝试重新激活音频会话,如果您成功激活音频会话,其他应用程序将停止播放。是的,我们使用该类别,事实上您的建议是公认的答案。它能用,谢谢。我尝试了将类别再次设置为AVAudioSessionCategoryPlayAndRecord,然后激活会话的方法,但昨天没有成功(它无法激活会话,因此无法停止其他音乐应用程序)。只有激活会话才有效:)谢谢。你介意我写下我的答案吗?谢谢,当中断开始时重新激活音频会话有效。