博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS下语音播放之切换听筒和扬声器的方法解决方案
阅读量:6367 次
发布时间:2019-06-23

本文共 1327 字,大约阅读时间需要 4 分钟。

原理:开启红外感应,根据红外感应气话播放听筒还是扬声器。
[[UIDevice currentDevice] setProximityMonitoringEnabled:YES]; //建议在播放之前设置yes,播放结束设置NO,这个功能是开启红外感应//添加监听[[NSNotificationCenter defaultCenter] addObserver:selfselector:@selector(sensorStateChange:)name:@"UIDeviceProximityStateDidChangeNotification"object:nil];//处理监听触发事件-(void)sensorStateChange:(NSNotificationCenter *)notification;{//如果此时手机靠近面部放在耳朵旁,那么声音将通过听筒输出,并将屏幕变暗(省电啊)if ([[UIDevice currentDevice] proximityState] == YES){NSLog(@"Device is close to user");[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord error:nil];}else{NSLog(@"Device is not close to user");[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];}}//初始化播放器的时候如下设置UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;AudioSessionSetProperty(kAudioSessionProperty_AudioCategory,sizeof(sessionCategory),&sessionCategory); UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute,sizeof (audioRouteOverride),&audioRouteOverride);AVAudioSession *audioSession = [AVAudioSession sharedInstance];//默认情况下扬声器播放[audioSession setCategory:AVAudioSessionCategoryPlayback error:nil];[audioSession setActive:YES error:nil];

转载于:https://www.cnblogs.com/wanyakun/archive/2013/03/20/3403334.html

你可能感兴趣的文章
SQL Server查询优化
查看>>
Mysql 主从复制常用管理任务介绍
查看>>
虚拟桌面工具之Dexpot
查看>>
高性能的MySQL(5)索引策略-索引案例分析
查看>>
C#与Java的RSA(1)
查看>>
PKI
查看>>
linux基础概念和个人笔记总结(2)——账号和权限管理实验验证
查看>>
SQL Server 2017 AlwaysOn AG 自动初始化(十六)
查看>>
AES加密
查看>>
关于linux内存cached过高释放一例
查看>>
玩转Android monkey之monkey是啥?monkey=猴子?
查看>>
Django 学习笔记(二)
查看>>
高性能缓存Memcached服务深度原理及实战
查看>>
[Android学习笔记七] 设备管理服务示例开发
查看>>
SystemCenter2012SP1实践(17)更多的定制模板
查看>>
kubernetes集群配置serviceaccount
查看>>
【VMCloud云平台】SCOM配置(十一)-安装SCOM报表点
查看>>
Oracle_RAC宕机和hang分析处理流程
查看>>
3.VMware View 4.6安装与部署-connection server(View Standard Server)
查看>>
网站被用户喜爱的秘密 :挖掘关键词背后的用户需求
查看>>