iOS开发小知识之检测程序被中断,进入后台,耳机的插拔点击等事件

iOS开发小知识之检测程序被中断,进入后台,耳机的插拔点击等事件,第1张

在iOS端关于音频或视频的开发中,声音或者视频播放的时候一些外界的因素可能会把音视频打断,比如电话,或者其他会播放音频的APP,这时候程序的音频或视频都会中断,但是我们再回到前台时需要更改一些UI上的变化(比如正在播放的音乐被电话打断,电话挂掉之后音乐会保持暂停的状态,但是如果不及时更新UI,播放按钮会保持正在播放的状态),这时候我们就需要对这些时间进行主动的监听,来进行我们需要的 *** 作,

情况一:用户按home键主动退到后台,一般的音乐类播放软件都会有后台播放的设置,不用进行额外的 *** 作,但是如果是正在播放视频的话,退到后台后视频应该是暂停状态,这时我们只需要在AppDelegate的相关方法中进行主动的设置就可以

情况二:被电话或者其他App播放的声音打断,此时就需要我们在程序中去监听这些事件,当事件被触发时进行相应的 *** 作

其中AVAudioSessionInterruptionNotification就是系统提供的被中断的通知

然后在被打断时进行相应的 *** 作

音乐类软件为了提高用户体验一般都会添加耳机线控音乐的功能(单机暂停/播放,双击下一曲,点击三下上一曲),还可以对耳机的插拔进行监听

监听耳机的插拔:

点击耳机中键的事件:

首先要在程序入口处让app接收远程控制事件

然后在远程事件通知中进行相应的 *** 作(这个通知还会接收系统上拉菜单中的控制中心的播放和暂停按钮)

保存现场,分析原因,转中断处理程序,恢复现场。所谓中断是指系统发生某一事件后,CPU暂停正在执行的程序转去执行处理该事件的程序过程,处理中断事件的程序称为中断处理程序,产生中断信号的那个部件称为中断源。硬件的中断机构与处理这些中断的程序统称为中断系统。当中断发生时,硬件机构自动地进入响应中断过程,由 *** 作系统的中断处理程序对中断事件进行处理,中断模式时就是说CPU不主动访问这些设备,,只管处理自己的任务,没任务就闲着.也就是说在那等着.如果有设备要与CPU联系,或要CPU处理一些事情,他会给CPU发一个中断请求信号.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12043008.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存