Bui~ LE audio完整協(xié)議公布了,可喜可賀,可喜可賀。那么這篇我們就,還是沒什么可聊的→_→。目前ADK相關(guān)完整版本還沒發(fā)布,source也沒有可用的,所以,先放著吧。
這篇我們來聊聊第三者,從前我們的mic基本上都是用模擬的或是數(shù)字的。有些廠商不滿足當(dāng)前mic的功能(說人話就是不滿足cvc的功能),因此他們會叫外賣——加外置的DSP,去新增自己想要的音頻處理。外置DSP輸出方式大部分都是用i2s接口,而代碼并沒有接納這第三種接口,基本上都要自己修改代碼去實現(xiàn)。_(:з)∠)_ 隨著時間的推進(jìn),現(xiàn)實總得要接受的。在新的芯片系列中,引進(jìn)了骨傳導(dǎo)的cvc,而對應(yīng)的骨傳導(dǎo)音頻接口的實現(xiàn)代碼也被加入到ADK中,另外這部分代碼也被同步到304x系列的ADK中了?(????ω????)?。雖然默認(rèn)代碼是用PCM接口,但是稍微修改下就可以適配其他類型的音頻接口。下面就帶大家怎么去使用起來。
首先,默認(rèn)的接口是用INCLUDE_LIS25BA_ACCELEROMETER這個宏定義,搜索這個宏定義就知道他使用了什么東西了。其中我們先看這里面mic的配置
這里面框出來的mic type相對于以前的analog和digital,只是多加了個pcm。如果你不是pcm接口的話,可以自己添加一個定義,然后修改對應(yīng)的處理,這里小編比較懶,直接用這個pcm,然后修改他的處理(建議大家勤奮點,多加一個定義)。后面兩個參數(shù)instance和channel我就不多說了,懂的都懂。
接著就是要修改對應(yīng)配置的處理代碼,在獲取source的時候,pcm的類型是獲取pcm的source的,如果是別的音頻接口就需要修改getAudioSource這里
我是用i2s接口,就換成AUDIO_HARDWARE_I2S,后面的instance和channel就是沿用上面的配置。獲取到source之后,對source的配置也需要跟著修改。因為不同類型的source,對應(yīng)的配置key是不一樣的,這個要在AudioPcmCommonConfigureSource中修改
(可以看到,直接修改看起來比較亂也不好管理(#^.^#),所以大家選擇添加的方式)
另外這里面用到兩個callback的函數(shù),一個是獲取配置的,一個是初始化的。接下來我們就要說說這些callback函數(shù)怎么弄。
在EarbudInit_StartInitialisation函數(shù)中有個AudioPcmCommonRegisterUser(&Peripherals_Lis25baRegistry),這個語句就是用來注冊callback函數(shù)的,參數(shù)Peripherals_Lis25baRegistry中,我們只關(guān)注其中的callback有哪些。
AudioPcmCommonGetPcmInterfaceSetting:這個是用來獲取config的函數(shù),這里是pcm參數(shù)的配置。如果不是pcm,可以不用,直接在代碼中固定,或者修改,或者添加別的參數(shù)格式。
AudioPcmCommonInitializeI2cInterface:這是控制接口的初始化,有些ic需要額外控制接口去寫指令,這里就需要事先把這接口初始化,還可以把外部ic也初始化。雖然變量名寫的是i2c,但是實際使用時,根據(jù)情況可以換成spi,uart等別的控制接口,或者不用也可以。
AudioPcmCommonEnableDevice和AudioPcmCommonDisableDevice:這兩個函數(shù)就是用來打開和關(guān)閉外部ic的,通過上面初始化的接口,給ic發(fā)送控制指令。注冊完這些函數(shù)之后,系統(tǒng)就會在通話建立時,自動初始化、配置、使能外部ic,在通話結(jié)束時,關(guān)閉外部ic。
除此之外,當(dāng)外部ic的輸入采樣率和系統(tǒng)通話時用的不一樣的時候,例如,輸入是48k,而通話只需要16k。還可以對其進(jìn)行重采樣,這個在默認(rèn)代碼kymera_ConnectUserWithMic函數(shù)中也有實現(xiàn)的,這里輸入采樣率固定為16k,如果系統(tǒng)不是用16k就進(jìn)行重采樣。
好了,以上是本期博文的全部內(nèi)容,如有疑問就別在博文下方評論留言了,有什么疑問或想了解的當(dāng)面和我說(如果你知道我是誰的話ヽ( ̄▽ ̄)?),我會盡量安排上(o′ω`o)?。謝謝大家瀏覽,我們下期再見。
-
藍(lán)牙
+關(guān)注
關(guān)注
114文章
5844瀏覽量
170787
發(fā)布評論請先 登錄
相關(guān)推薦
評論