当有电话来电时,应用程序播放视频(使用 AVPlayer)会发生啥?

Posted

技术标签:

【中文标题】当有电话来电时,应用程序播放视频(使用 AVPlayer)会发生啥?【英文标题】:What happens to the app playing video (using AVPlayer) when a phone call comes?当有电话来电时,应用程序播放视频(使用 AVPlayer)会发生什么? 【发布时间】:2016-04-25 10:51:29 【问题描述】:

根据Raywenderlich,应用进入非活动状态。

Inactive:当您的应用程序正在运行但发生中断时 它,就像一个电话,它变得不活跃。不活跃意味着 应用仍在前台运行,但没有接收到事件。

那么,视频是否会像应用程序进入后台时那样自动暂停。或者我们是否必须为这种中断设置一个观察者并手动设置 AVPlayer rate=0(为了暂停)?如果后一个是真的,那么我们应该观察哪个属性?

【问题讨论】:

【参考方案1】:

播放器发出可观察到的 NSNotification 属性。这不仅包括电话中断,例如音频路由更改。

看看这个post

根据您的音频播放设置,您的应用会进入非活动状态。每当电话/中断结束时,根据您的播放,ios 将向您的应用发出中断已结束的信号,您有责任处理中断停止后音频播放发生的情况。

请注意,您必须尽一切努力正确处理中断。如果您想要恶意,但可能被应用商店拒绝,您可以做到这一点,这样无论您的播放是否中断,您的播放始终会恢复。您将看到发生的是您的音频播放和电话音频将同时发生。因此,您的音频路由将更改为“耳机”,并且可以从耳机恢复播放,并且电话也将继续。

我还看到(至少在 iOS 8 中)在蓝牙免提设备上过早调用中断通知,特别是在汽车(例如丰田)中。我在很多情况下 Spotify 会继续播放,而我也在打电话……很烦人。我不认为这是 Spotify 的错误,因为 Apple Music 播放器有时会做同样的事情,所以它可能是 SDK 错误。我也见过雷达。只是给你一个警告。

【讨论】:

以上是关于当有电话来电时,应用程序播放视频(使用 AVPlayer)会发生啥?的主要内容,如果未能解决你的问题,请参考以下文章

ANDROID:接听电话后播放音频

设备在播放啥吗?

微信视频来电动画怎么设置

如何以编程方式播放默认电话铃声?

应用程序被杀死时如何在Android中检测来电电话号码?

iOS - 在Objective c中打电话时录制语音