ios应用音频与来电铃声冲突问题
1.现象描述
最近做的一款app有异常报警功能,使用的音频后台驻行模式AVAudioSessionCategoryPlayback,当有异常时发出相应的警报声,此时手机如果有来电进入,此时app仍然有报警声,同时伴随电话铃声。
2.解决方案
继续查找资料,最终找到CoreTelephony框架,这个框架包含了电话相关的API,可以实现监测来电,查看运营商信息等功能。下面就是具体的实现监测来电的代码
倒入框架:
@import CoreTelephony;
声明变量:
@property (nonatomic,strong) CTCallCenter *center;
在viewDidLoad中实现相关功能:
center = [[CTCallCenter alloc] init];
__weak typeof(self) weakSelf = self;
center.callEventHandler = ^(CTCall * call) {
if ([call.callState isEqualToString:CTCallStateIncoming])
{
//电话振铃过程中的事件处理
[weakSelf.audioPlayer pause];//电话进来时暂停播放器
[CommonFunction setisPlayVioce:NO];
NSLog(@"CTCallStateIncoming");
}else if ([call.callState isEqualToString:CTCallStateDisconnected])
{
//电话挂断后的事件处理
NSLog(@"CTCallStateDisconnected");
[weakSelf.audioPlayer play];//电话结束时恢复警告播放
[CommonFunction setisPlayVioce:YES];
}else if ([call.callState isEqualToString:CTCallStateDialing])
{
//打电话出去的状态(回铃音)事件处理
NSLog(@"CTCallStateDialing");
}else if ([call.callState isEqualToString:CTCallStateConnected])
{
//电话接通状态事件处理
NSLog(@"CTCallStateConnected");
}
};
3.相关音频模式梳理
[myAudioSession setActive: NO with Options: AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error: <#Your error object, or nil for testing#>];
ios应用音频与来电铃声冲突问题相关推荐
- 苹果手机来电归属地_苹果手机来电铃声、充电音还能这么有趣?这款神器也太炫了...
当身处公交.地铁等公共场所时,听到iPhone熟悉的来电铃声,不少iPhone用户都会下意识地拿出手机确认是否有来电,然而真实情况往往是别人的手机来电.由于ios系统的限制,iPhone本身并不提供个 ...
- 将迷你音箱用作手机来电铃声放大器
注:图片来自各产品介绍页面 要看结论,跳至最后 前两天买了个带音频线的"jrc迷你小音响",让父母出去时插在手机耳机孔上,作为来电铃声放大器,这样他们就再也不会因为手机放在包里而总 ...
- Android设置来电铃声和分享操作
之前项目里写的设置来电铃声和分享音频文件如下: //设置来电铃声public void setAsRingTone(String path) {Log.d(TAG, "setAsRingTo ...
- Anddroid IM来电铃声通过耳机播放
针对问题:使用云信IM, 带耳机时,来电铃声还是会外放 本文主要内容 1.如何通过耳机播放来电铃声 2.如果来电铃声播放之前,耳机播放音乐,如何解决铃声和音乐同时播放的问题 问题一: 首先云信IM来电 ...
- 有多少人知道微信来电铃声可以跟更换?
随着微信功能的逐渐全面,很多人已经将微信作为主要的社交平台.当然除了正常的社交以外,它还具备其他的重要功能. 当我们想要联系某个人的时候,想到的首要通讯工具就是微信.微信已经逐渐从社交平台发展为通讯工 ...
- ym——Android从零开始(28)(来电铃声的设置、手机闹钟、手势识别)(新)
转载请注明本文出自Cym的博客(http://blog.csdn.net/cym492224103),谢谢支持! 来电铃声的设置.手机闹钟.手势识别来电铃声的设置 MediaStore简介 Media ...
- 如何编写程序设置Android来电铃声
转自:http://www.jizhuomi.com/android/example/360.html 我们在拿到新手机后通常会为其设置来年铃声,那么怎样通过代码来设置Android来电铃声,本文就为 ...
- iOS 9音频应用播放音频之iOS 9音频播放进度
iOS 9音频应用播放音频之iOS 9音频播放进度 iOS 9音频应用开发播放进度 音频文件在播放后经过了多久以及还有多久才可以播放完毕,想必是用户所关注的问题.为了解决这一问题,在很多的音乐播放器中 ...
- iOS 9音频应用播放音频之控制播放速度
iOS 9音频应用播放音频之控制播放速度 iOS 9音频控制播放速度 iOS9音频文件在播放时是以一定的速度进行的.这个速度是可以进行更改的,从而实现iOS9音频文件的快速播放和慢速播放功能.要实现i ...
- iOS 9音频应用播放音频之音量设置与声道设置
iOS 9音频应用播放音频之音量设置与声道设置 iOS 9音频应用音量设置 音量又称响度.音强,是指人耳对所听到的声音大小强弱的主观感受,其客观评价尺度是声音的振幅大小.在iOS 9音频应用的应用中, ...
最新文章
- 从零开始用Python实现k近邻算法(附代码、数据集)
- 一篇文章教会你创建vue项目和使用vue.js实现数据增删改查
- c语言自动按键脚本,C语言键盘控制走迷宫小游戏
- view 背景透明
- 前端学习(573):margin无效情形table无效
- 【HDU - 5988】Coding Contest(网络流费用流,改模板)
- ER图( 实体联系图)
- Win7双屏显示设置
- 【javascript】基于javascript的小时钟
- SQL 高效运行注意事项(一)
- AIDA64内存与缓存测试过了算稳定吗_高频内存能带来怎样的不同!影驰HOF OC Lab Master DDR4 4000内存评测...
- JavaScript函数(二)回调函数
- 神华集团世界500强酷站欣赏
- java 定义类私有类_关于java:为什么不能将一个类定义为protected?
- 学计算机的考研考教育学好考吗,2011年考研心路:我的两年教育学考研总结
- python列表用来有序存放一组_python 列表 元组(自兴人工智能)
- android nfc扇区加密,uniapp安卓NFC MifareClassic读IC卡加密扇区方法
- sql server 获取本机的ip地址
- Java爬虫,爬取竞彩网数据并按指定格式输出到excel表格中
- 爬虫小试-将某网站内的试题爬取出来并保存到本地word