iOS下微信语音播放之切换听筒和扬声器的方法解决方案
2013-11-26 23:09
567 查看
转载自:http://www.cnblogs.com/dcty/archive/2012/02/28/2372460.html
iOS下微信语音播放之切换听筒和扬声器的方法解决方案
[[UIDevice currentDevice] setProximityMonitoringEnabled:YES]; //建议在播放之前设置yes,播放结束设置NO,这个功能是开启红外感应 //添加监听 [[NSNotificationCenter defaultCenter] addObserver:self selector:@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];
相关文章推荐
- 我的第一个Activiti小程序
- 微信公众平台开发之-签到积分查询功能
- 微信公众号推广的十个技巧
- 微信公众平台开发--快递查询
- 马云打微信,别忘了联手周鸿祎
- 微信公众平台-股票行情查询
- 【作废】share sdk 中一些分享问题、微信分享
- java 小程序分析:参数传递
- 互联系网的超速发展:微信营销的崛起
- 微信浏览器页面拨打电话
- 汇编小程序
- 大家说说看针对微信的这个限制,如何吐槽????
- “二马”的战争 马云:微信不代表未来
- iOS6漏洞中阿拉伯字符串导致微信QQ短信崩溃的解决方法
- 微信公众平台开发介绍(四)
- 『other』恶搞自杀小程序
- 微信6亿用户背后的内忧外患
- 微信那点事儿-公众平台开发系列之自定义菜单(php版)
- 易信与微信语音技术对比
- 数据恢复软件(一):一个恢复BMP位图文件的小程序