OC更新到0.77后等龙,開機(jī)聲音仍然通過AudioDxe實現(xiàn)处渣,為了實現(xiàn)多個插口或多聲道發(fā)生,新增AudioOutMask參數(shù)聲音輸出掩碼取代之前的AudioOut節(jié)點參數(shù)蛛砰,許多小伙伴對這個參數(shù)的使用方法是一臉懵罐栈,我現(xiàn)在這里講解一下它的正確用法:
故名思義,他是靠掩碼來設(shè)置的泥畅!什么是掩碼荠诬?一個八進(jìn)制數(shù),每位上只有零或一位仁,零為不開啟柑贞,一為開啟!舉個例子聂抢,我們現(xiàn)在有八個插口钧嘶,通過測試,后耳機(jī)節(jié)點0琳疏,后低音節(jié)點1有决,后線路輸入節(jié)點2闸拿,后線路輸出節(jié)點3,后麥克風(fēng)輸入節(jié)點4书幕,后中音輸出節(jié)點5新荤,前耳機(jī)節(jié)點6,前麥克風(fēng)輸入節(jié)點7台汇!
那么開啟后耳機(jī)節(jié)點0 就是00000001=1
開啟后低音節(jié)點1就是00000010=2
開啟后線路輸入節(jié)點2就是00000100=4
開啟后線路輸出節(jié)點3就是1000=8? 從現(xiàn)在開始前面的零我給省略了
開啟節(jié)點4就是10000=16
開啟節(jié)點5就是100000=32
開啟節(jié)點6就是1000000=64
開啟節(jié)點7就是10000000=128
這個八進(jìn)制數(shù)從右向左數(shù)苛骨,分別為第0位第1位第2位直到第7位,哪一位上有1就代表開啟哪個節(jié)點苟呐!最后AudioOutMask使用這個八位二進(jìn)制數(shù)轉(zhuǎn)化為的10進(jìn)制數(shù)智袭!
當(dāng)然我們可以組合使用,使用掩碼就是為了這個目的嘛掠抬!比如1001=9就是讓后線路輸出和后耳機(jī)同時播放開機(jī)duang吼野!
實際上我們在使用的時候根本不知道哪個插口對應(yīng)著什么節(jié)點,那么我們就需要具體測試两波,用1瞳步,2,4腰奋,8单起,16,32劣坊,64嘀倒,128去測試具體哪個插口,然后根據(jù)自己的需要組合使用局冰!
另外AudioOutMask還提供了兩個額外的參數(shù)冤今,一個是-1万俗,懶人設(shè)置所有檢測的通道均播放聲音讽挟,另一個是0递沪,用于系統(tǒng)報錯,一旦設(shè)置了引導(dǎo)界面支持播放聲音沫勿,但是audiooutmask設(shè)置為0挨约,oc就會報錯提醒你正確使用audiodxe