1. android系统启动完成会发送Intent.ACTION_BOOT_COMPLETED事件,我们在 base/services/java/com/android/server/WiredAccessoryObserver.java中可以看到类似代码
linux-3.0/drivers/switch/ switch_headset.c中会根据无耳机,三段耳机,四段耳机和四段耳机是否有hook键按下4个状态更新state的值为0 ,1, 2,3,并且切换机台
MIC和耳机
private static final String uEventInfo[][] = { {"DEVPATH=/devices/virtual/switch/h2w",
"/sys/class/switch/h2w/state",
"/sys/class/switch/h2w/name"},
{"DEVPATH=/devices/virtual/switch/usb_audio",
"/sys/class/switch/usb_audio/state",
"/sys/class/switch/usb_audio/name"},
{"DEVPATH=/devices/virtual/switch/hdmi",
"/sys/class/switch/hdmi/state",
"/sys/class/switch/hdmi/name"} };
大体流程是用定时器每200ms检查一次是否有耳机插入,如果有4段耳机,延时30ms检查hook key是否按下,这样,如果旧的state和新的state不相等,就用uevent上报状态改变
事件
可参考电路图P11的说明:
检测耳机插入:
1、0V-0.2V 则判定为3节耳机;
2、1V-2.5V 则判定为4节耳机;
3、检测为4接耳机后如果ADC再次检测为0V则认为HOOK见按下。
分享到:
相关推荐
如果系统动态定义耳机插拔状态是没问题的,但是如果想静态定义在manifest.xml中,这是并没有得到耳机插拔状态,所以有些情况下不想启用应用的方式来检测耳机状态,而是系统实时想检测耳机状态 ,下列方法可以获得...
Android平台下,对普通耳机以及蓝牙耳机插拔状态的监控,代码中有做蓝牙耳机SCO通话建立
qt, c++程序调用 windows api 实现检测耳机热插拔事件。
hr = m_pEnumerator->RegisterEndpointNotificationCallback((IMMNotificationClient*)this); Interface created successfully Registered successfully Please insert Headphone and press enter when the number...
AVAudioPlayeraudioPlayerDemo,支持速率,声道,来电挂起,耳机插拔
最近在公司用到外设,需要判断接入的外设的VendorId和ProductId,然后给大家说一下自己的学习成果把 ,首先我门可以通过android....要是想对耳机或者耳机的状态进行监听的时候需要的广播是android.intent.action.
MCU内核主频96MHZ,16bit ADC采样率:48、96KHZ、16bit DAC采样率:48、96KHZ,支持标准安卓耳机线控按键控制,支持美标CTIA带耳机插拔检测。它非常适用于USB C型桌面拓展坞、数据音频HUB、视频会议、Type-c耳机、C...
耳机插拔的识别,hookkey的用途,详细了解android的耳机相关功能,掌握耳机电路结构
耳机插拔寿命试验,26.电池/盖插拔寿命试验,27.SIM/T卡/卡托拆装寿命试验,28.铁屑 振动 SPK寿命试验,29.铁屑 振动 REC寿命试验,30.喇叭寿命测试,31.MIC/REC寿命测试,32.马达寿命测试,33.LCD寿命测试,34....
用c++ 实现检测windows电脑是否插入耳机,和检测插拔耳机,想要源码可以联系我
监视USB口,易语言监视USB口插入拔出源码。
Android的热插拔监听源代码,可以用来监听耳机之类的热插拔事件发生.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
环境 可靠性试验 ................................ ................................ ................................ ................................ 8 R1.0_ 环境试验前初始检测 ............................
实现功能支持一对一语音和视频支持多对多语音和视频会议灵活替换 wss 信令服务器和 stun/turn 转发穿透服务器动态权限申请模块独立,代码清晰使用最新的 webrtc 源码切换摄像头、免提、开启静音、监听耳机插拔、系统...
C#/C++麦克风插拔检测, 3个工程:一个是C++实现IMMNotificationClient方式,一个是将IMMNotificationClient方式的修改为dll,另外一个是调用IMMNotificationClient的dll,或者调用naudio方式来实现,...
金士顿飓风2耳机,极度未知飓风2耳机,飓风2耳机,0010版本驱动,使用方式: ...2、打开设备管理器 -> 声音、...3、重新插拔耳机usb 4、打开声音设置 -> 声音控制面板 -> 录制 -> 耳机式麦克风双击 -> 级别拖动到100即可
如果插入耳机则自动通过耳机播放,拔出耳机则自动通过扬声器播放,插拔耳机不会中断收音机播放。如果启动收音机是没有插入耳机,则会自动通过扬声器播放,人性化远比3☆原生收音机强的多的多。 5、可存贮最多16个...
牛顿算法
插拔连接耳机时自动播放音乐此调整最初由@kirb制作,是HASHBANG产品的一部分。 我根据iOS 8的原始代码重新编写了此调整,并改进了首选项。 这是在MIT许可下开源的。