国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

一種奇葩耳機(jī)與喇叭互斥的實(shí)現(xiàn)方式

2019-11-09 15:30:02
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

一種奇葩耳機(jī)與喇叭互斥的實(shí)現(xiàn)方式

所謂耳機(jī)與喇叭的互斥,是指當(dāng)耳機(jī)插入時(shí),喇叭通道自動(dòng)關(guān)閉,聲音從耳機(jī)中輸出;當(dāng)耳機(jī)拔出時(shí),喇叭通道打開(kāi)。

Android平臺(tái)標(biāo)準(zhǔn)的實(shí)現(xiàn)「耳機(jī)與喇叭互斥」的方式是:標(biāo)準(zhǔn)耳機(jī)接口硬件(帶的插入檢測(cè)) -> 連接到CPU的GPIO -> 內(nèi)核檢測(cè)到GPIO變化后改變/sys/class/switch/h2w/state中的值 -> Android上層系統(tǒng)讀取該文件以判斷當(dāng)前耳機(jī)狀態(tài) -> 系統(tǒng)將新的耳機(jī)狀態(tài)以廣播方式發(fā)送給APP。

當(dāng)我要在一個(gè)指定的板子上實(shí)現(xiàn)錄音功能時(shí),手上這個(gè)塊板沒(méi)有引出外置Mic,只好從耳機(jī)插座入手。我在耳機(jī)插入時(shí),讓系統(tǒng)仍然認(rèn)為是未插入狀態(tài),這樣以保證外置喇叭能正常出聲,即「打破耳機(jī)與喇叭的互斥」。我開(kāi)始測(cè)試這個(gè)主板「耳機(jī)與喇叭互斥」的實(shí)現(xiàn)方式時(shí)發(fā)現(xiàn)有些許不同: 1. /sys/class/switch/h2w/state中的值并不會(huì)隨著耳機(jī)插拔而變化; 2. Android上層不能收到耳機(jī)插拔的廣播或者消息; 3. 將耳機(jī)接口硬件上的檢測(cè)插拔功能禁用后(用攝子短接兩個(gè)檢測(cè)腳)仍然可以切換通道;

這里寫(xiě)圖片描述

以上三條說(shuō)明該主板并未按照Android平臺(tái)標(biāo)準(zhǔn)方式實(shí)現(xiàn),介于主板廠家不給提供原理圖,只能從硬件電路一點(diǎn)一點(diǎn)測(cè)試推導(dǎo)。經(jīng)反復(fù)測(cè)試,耳機(jī)插座在插拔耳機(jī)時(shí)另外一個(gè)不同之處是Mic腳與GND腳的壓差會(huì)變化,如下:

耳機(jī)狀態(tài) 壓差 備注
拔出 2.5V
插入 1.8V

而從喇叭處倒推出來(lái)的差異時(shí),耳機(jī)的插拔會(huì)導(dǎo)致功放IC的使能腳電平被拉低為0。手繪出的電路圖如下: 這里寫(xiě)圖片描述 經(jīng)測(cè)試最接近功放的一個(gè)三極管經(jīng)去掉后,插入耳機(jī)時(shí),使能腳電平不再被拉低了,這樣就實(shí)現(xiàn)了「打破耳機(jī)與喇叭的互斥」的目的了。這里簡(jiǎn)單補(bǔ)充一下純硬件實(shí)現(xiàn)聲道切換的壞處:系統(tǒng)(APP)無(wú)法得到耳機(jī)的插拔事件,會(huì)導(dǎo)致對(duì)應(yīng)耳機(jī)插拔的事件無(wú)法進(jìn)行處理,比如拔出耳機(jī)時(shí)一般的音樂(lè)播放器會(huì)暫停插入音樂(lè)等等。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 新建县| 石家庄市| 商丘市| 安宁市| 麻城市| 固镇县| 闻喜县| 资阳市| 长宁县| 河西区| 安阳县| 随州市| 蒙自县| 河北区| 含山县| 教育| 金堂县| 东安县| 鄂伦春自治旗| 阳春市| 荃湾区| 偃师市| 和政县| 香河县| 溧水县| 宜都市| 临夏县| 雷波县| 洪雅县| 静宁县| 新和县| 梁平县| 柳州市| 清苑县| 祥云县| 游戏| 白河县| 石台县| 石台县| 开化县| 枞阳县|