耳机 插入/拔出 代码监测
来源:互联网 发布:网络114登录 编辑:程序博客网 时间:2024/05/02 07:05
播放器音频时候关于检测耳机的插入、拔出,网络上面虽然有很多代码,但是也有朋友问具体怎么做,实例项目用到,分享如下:
用代码来监测,具体思路流程如下:
先在init里面添加观察者:
[notificationCenter addObserver:self selector:@selector(continuePlaying) name:@"PLAY" object:nil];
在viewdidload里面添加监听
AudioSessionAddPropertyListener(kAudioSessionProperty_AudioRouteChange,// audioRouteChangeListenerCallback,(__bridge void *)(self));
之后实现这个监听回调方法:
void audioRouteChangeListenerCallback (void *inUserData, AudioSessionPropertyID inID, UInt32 inDataSize, const void *inData){ UInt32 propertySize = sizeof(CFStringRef); AudioSessionInitialize(NULL, NULL, NULL, NULL); CFStringRef state = nil; AudioSessionGetProperty(kAudioSessionProperty_AudioRoute ,&propertySize,&state); NSString *stateStr = (__bridge NSString *)state; if ([stateStr isEqualToString:@"Speaker"]) { [[NSNotificationCenter defaultCenter] postNotificationName:@"PLAY" object:nil]; }}-(void)continuePlaying{ if (playBtn.selected) { [player.moviePlayer play]; }}
通过通知的方法让耳机拔出后继续播放,原因是在插入耳机后可以正常收听,但是拔出后没有继续播放,而是静音,所以要在监测拔出耳机后继续播放,用了通知功能。
但是有个问题,这种监听方式已经被 7.0 弃用了,目前没找到代替方法,有知道的朋友记得分享回复我啊,谢了。
0 0
- 耳机 插入/拔出 代码监测
- 检测耳机插入拔出
- iphone检测耳机插入/拔出
- iphone检测耳机插入/拔出
- iphone检测耳机插入/拔出
- iphone检测耳机插入/拔出
- iphone检测耳机插入/拔出
- iphone检测耳机插入/拔出
- iphone检测耳机插入/拔出
- iphone检测耳机插入/拔出
- iphone检测耳机插入/拔出
- IOS检测耳机插入/拔出
- iphone检测耳机插入/拔出
- iOS检测耳机插入/拔出
- iphone检测耳机插入/拔出
- iOS检测耳机插入/拔出
- 检测iphone插入/拔出耳机事件
- Android实现检测耳机插入和拔出
- spring学习笔记6——JDBC模板
- Struts2 中的数据传输的几种方式
- delete与delete [] 真正区别
- 一步步学习微软InfoPath2010和SP2010--第十三章节--SharePoint视图和仪表板(10)--仪表板页面和内容查询Web部件
- Linux Socket编程(不限Linux)
- 耳机 插入/拔出 代码监测
- android 深入研究ratingbar自定义
- ASCII码表
- HTTP认证及其在Web平台中的实现
- c++的内存分配问题
- emacs24中stardict 的使用(查英语单词)
- 第四周作业-图的表示
- C#-format---ShinePans
- 一步步学习微软InfoPath2010和SP2010--第十三章节--SharePoint视图和仪表板(11)--KPI Web部件