iOS 语音类App播放自己的录音完毕后,如何重新继续播放音乐

 前一篇文章讲述了,iOS平台如何录音,以及如何播放录音,也就是回放录音。那么,如果在你播放你的录音之前,已经有音乐类的App在后台正在播放音乐,这个时候一般的做法是先暂停音乐播放---->播放你自己的录音---->继续播放后台的音乐。

其实,方法也比较简单,就几行代码如下


播放之前 

[[AVAudioSession sharedInstance] setActive:YES error:nil];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
 然后播放


播放完成之后,正确的代码如下

[[AVAudioSession sharedInstance] setActive:NO withOptions:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error:nil];


错误的代码 就是仅仅简单的 
    [[AVAudioSession sharedInstance] setActive:NO error:nil];
上面这个仅仅是对操作系统的AVAudio管理器说:我不用Auduio服务了。但是其他App的Audio服务没有被唤醒,所以就不会自动继续音乐播放。


正确的代码意思是告诉AVAuduio管理器说:我不用Audio服务了,你唤醒其他需要Auduio服务的App吧。

这个官方有一个说明,图片如下



另外,比较完善的做法是 ,你的App在获取AVAudio服务之前,保存原来的AVAudioSession一部分属性,等待你自己的语音播放完毕后再恢复,一般就是缓存一个catogery属性就可以了。

目前官方文档在 这里 ,不知道以后会不会还存在。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值