ios播放声音中断后台音乐的问题

摘要:
今天,我遇到了一个问题,ios播放声音时背景音乐被中断。如果我在应用程序中调用AVAudioSession播放声音,背景qq音乐偶尔无法恢复,而网易云音乐则无法恢复一次。在学习了AVAudioSession之后,我调用了[audioSessiontActive:NOerror:&err];还有一个方法/*将会话设置为活动或活动。请注意,激活
 

 今天遇到一个ios播放声音中断后台音乐的问题,在我的app中如果调用AVAudioSession 播放完声音,后台的qq音乐偶尔不能恢复,而网易云音乐一次都不能恢复播放,研究了一下AVAudioSession ,我之前调用[audioSession setActive:NO error:&err];还有一个方法

/* Set the session active or inactive. Note that activating an audio session is a synchronous (blocking) operation.

 Therefore, we recommend that applications not activate their session from a thread where a long blocking operation will be problematic.

 Note that this method will throw an exception in apps linked on or after iOS 8 if the session is set inactive while it has running or 

 paused I/O (e.g. audio queues, players, recorders, converters, remote I/Os, etc.).

*/

- (BOOL)setActive:(BOOL)active error:(NSError **)outError;

- (BOOL)setActive:(BOOL)active withOptions:(AVAudioSessionSetActiveOptions)options error:(NSError **)outError NS_AVAILABLE_IOS(6_0);

而AVAudioSessionSetActiveOptions这个枚举

/*  options for use when calling setActive:withOptions:error: 

AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation -- 

Notify an interrupted app that the interruption has ended and it may resume playback. Only valid on 

session deactivation. */

typedefNS_OPTIONS(NSUInteger, AVAudioSessionSetActiveOptions)

{

AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation = 1

} NS_AVAILABLE_IOS(6_0);

注释的意思是:“通知中断程序中断已经结束,可以恢复播放。。。。“,

看来这里应该是造成播放声音导致后台的qq音乐偶尔不能恢复,而网易云音乐一次都不能恢复播放的地方

 之后改成调用   [[AVAudioSessionsharedInstance] setActive:NOwithOptions:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivationerror:nil];果然网易云音乐也可以恢复了,看了苹果官方的文章,上面有张图ios播放声音中断后台音乐的问题第1张

 

免责声明:文章转载自《ios播放声音中断后台音乐的问题》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇02-OpenLDAP配置Spring源码分析:@Configuration原理下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

<转>主流蓝牙BLE控制芯片详解(3):创杰 IS1685S

[导读] IS1685S是一款高度集成的超低功耗芯片,应用于射频和基带芯片的蓝牙V3.0 + EDR单声道耳机。 智能型无线音频数据传输产品——S1685S单声道蓝牙芯片,是低成本的高效率单声道无线传输方案。采用免驱动方式,客户只需要把模块接入应用产品,通电,连接按键就可以快捷地实现音乐的无线传输,享受无线音乐的乐趣。   同系列芯片资料推荐:     主...

xios封装

封装的意义 1.提高代码可读性2.提高代码可维护性3.减少代码书写 封装 import axios from 'axios' axios.defaults.baseURL = 'http://127.0.0.1:8000' // 全局设置网络超时 axios.defaults.timeout = 10000; //设置请求头信息 axios.defau...

Nginx 开启 debug 日志的办法

激活debug 日志 --prefix=/usr/local/nginx --with-debug 重新make && make install 编译,注意:这里很多说不能make install,只make就好了,其实不然,在执行./configure命令时则已经查出了原有nginx的各个文件的路径,如果原来没有nginx,则会默认安装到...

编程和音乐真的很像吗?

在过去的几十年时间里,对音乐作品和编程同时感兴趣的计算机科学家成功地将两者结合在一起。现在的人工智能谱写的音乐,几乎与由专业音乐人创建的没有区别。很多专业的开发人员对音乐有着真正的激情,以及许多音乐家涉足过编程,这些已经不是什么秘密。例如,Elvis Costello,一位多产的英国音乐家,被誉为“他那一代最优秀的词曲作家”,在他的音乐生涯腾飞之前,在上世...

关于主流播放器蛋疼的联网功能的研究

结论:   pc版百度音乐阉割联网功能   手机版天天动听或网易云音乐阉割联网功能 作为一名虔诚的LoveLiver,听μ's的歌写程序是必须的~ 无疑,音乐一定要是flac无损的(尽管我听不出来),带高清专辑封面(尽管我不看),有双语歌词的(尽管我也不怎么看) 在众多LoveLiver的共同努力下,我们有了符合以上要求的歌曲(如图,有高清专辑封面,在...

Shell终端收听音乐--豆瓣FM命令行版

douban.fm Terminal-based douban.fm inspired by douban.fm.该版本版基于Python2.* 安装Python2.* pacman -S python2 pacman -S python2-pip 安装douban.fm pip2 install douban.fm 需要mplayer播放器依赖,如未...