ios - Audio Session 中断通知
<p><p>在我的应用程序中,我正在运行一个后台服务,如果另一个应用程序正在播放音频,我希望我的服务能够得到通知。电话或音乐应用或 radio 应用正在播放音频。</p>
<p>从 AVAudioSession 类文档中,似乎是 <a href="https://developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVAudioSession_ClassReference/#//apple_ref/c/data/AVAudioSessionInterruptionNotification" rel="noreferrer noopener nofollow">AVAudioSessionInterruptionNotification</a>是我需要的东西。</p>
<p>所以,我尝试了:</p>
<pre><code>-(void)initialization{
[ addObserver:self
selector:@selector(handleAudioSessionInterruption:)
name:AVAudioSessionInterruptionNotification
object:nil];
}
-(void)handleAudioSessionInterruption:(NSNotification*)notification{
NSLog("Get notified for interruption");
}
</code></pre>
<p>我在 iPhone 上运行我的应用程序。当我拨出/拨入电话时,我的应用会收到 Audio Session 中断的通知。效果很好!</p>
<p>但是当我打开一个播放音频的广播/音乐应用时,我的应用没有收到通知。为什么?当音乐/广播应用正在播放音频时,我的应用如何获得通知?</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>如文档中所述::</p>
<p>/* 当系统中断 Audio Session 时,将通知注册的听众
中断已经结束。检查通知的 userInfo 字典中的中断类型——开始或结束。
在结束中断通知的情况下,检查 userInfo 字典中的 AVAudioSessionInterruptionOptions
指示是否应恢复音频播放。
*/</p>
<p>所以基本上,如果任何其他应用程序试图接管 Audio Session ,则会发布中断通知。 </p>
<p>例如:尝试打开苹果的默认音乐应用或尝试从默认相机应用录制视频。他们接管了 Audio Session ,您将收到相同的通知。</p>
<p>为了安全起见::
监听通知的实例应该仍然在内存中。</p></p>
<p style="font-size: 20px;">关于ios -Audio Session 中断通知,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/38832501/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/38832501/
</a>
</p>
页:
[1]