張文興
摘要:針對(duì)車載電子系統(tǒng)中多路音頻輸出時(shí)混音所帶來(lái)的問(wèn)題以及傳統(tǒng)多路音頻控制方案中存在的缺陷,設(shè)計(jì)一種基于音頻焦點(diǎn)的多路音頻控制方案。根據(jù)音頻流類型定義其優(yōu)先級(jí),進(jìn)而定義音頻焦點(diǎn)控制策略。當(dāng)音頻焦點(diǎn)變化時(shí),根據(jù)預(yù)設(shè)的音量規(guī)則,調(diào)整各個(gè)音頻流播放音量。測(cè)試結(jié)果表明,該方案能夠有效地去除混音所帶來(lái)的聽(tīng)覺(jué)混淆并克服了傳統(tǒng)多路音頻控制方案中的缺陷。從實(shí)現(xiàn)上看,其具有較強(qiáng)的通用性,較好的可擴(kuò)展性以及可維護(hù)性。該方案已經(jīng)被應(yīng)用于量產(chǎn)并且投入市場(chǎng)的某車載電子產(chǎn)品中,從市場(chǎng)反饋來(lái)看,用戶體驗(yàn)度以及駕駛安全性都得到了很大提升。
[關(guān)鍵詞]多路音頻控制音頻焦點(diǎn)音量規(guī)則車載電子系統(tǒng)
1引言
隨著車輛的普及,各類車載電子產(chǎn)品層出不窮,功能多樣。聲音作為系統(tǒng)與駕駛者交互的一種方式,發(fā)揮著越來(lái)越重要的作用,同時(shí),人們對(duì)其實(shí)用性、安全性、友好性的要求越來(lái)越高。眾所周知,在一個(gè)系統(tǒng)中,同一時(shí)刻,可能有多個(gè)應(yīng)用需要使用音頻設(shè)備輸出音頻流,原生系統(tǒng)的混音功能,使得人耳在同一時(shí)刻,聽(tīng)到的是多路聲音的共同輸出。對(duì)于車載電子系統(tǒng)來(lái)說(shuō),車輛在行駛過(guò)程中,導(dǎo)航播報(bào)、音樂(lè)播放、語(yǔ)音助理、電話等應(yīng)用,可能同時(shí)發(fā)聲,車內(nèi)的人聽(tīng)到的是各個(gè)音頻流混音后的效果,有可能造成聽(tīng)覺(jué)混淆,甚至導(dǎo)致安全隱患。因此,需要對(duì)各個(gè)音頻流進(jìn)行統(tǒng)一控制,使得同一時(shí)刻,人耳聽(tīng)到的是清晰、明確、可靠的聲音。
為了去除混音所帶來(lái)的問(wèn)題,傳統(tǒng)的音頻控制方案主要是針對(duì)音頻流本身的播放邏輯進(jìn)行控制,例如,通話中,音樂(lè)暫停;通話結(jié)束,音樂(lè)繼續(xù)播放。這種方案處理的對(duì)象是各個(gè)音頻流的實(shí)例,存在以下缺點(diǎn):
(1)需要維護(hù)各個(gè)音頻流的狀態(tài)機(jī),控制邏輯復(fù)雜,狀態(tài)切換頻繁,并且切換過(guò)程中往往伴隨著資源的申請(qǐng)和釋放,對(duì)系統(tǒng)性能影響較大。
(2)當(dāng)控制策略發(fā)生變化時(shí),需修改源碼,可擴(kuò)展性較低,不能適應(yīng)不同產(chǎn)品之間的變化,維護(hù)成本較高。
(3)不適用對(duì)實(shí)時(shí)音頻流的處理,例如本地電臺(tái),此音頻流是不能被暫停的,需要單獨(dú)的控制邏輯。
本文針對(duì)其缺陷,提出一種基于音頻焦點(diǎn)并結(jié)合預(yù)設(shè)音量規(guī)則的多路音頻控制方案,然后給出其在Android原生系統(tǒng)中的實(shí)施用例以及測(cè)試分析,最終得出結(jié)論。
2基于音頻焦點(diǎn)的多路音頻控制
基于音頻焦點(diǎn)的多路音頻控制的基本思想為:根據(jù)音頻焦點(diǎn)控制策略確定享有音頻焦點(diǎn)的音頻流;實(shí)時(shí)監(jiān)聽(tīng)系統(tǒng)音頻焦點(diǎn)的變化,根據(jù)預(yù)設(shè)的音量規(guī)則對(duì)系統(tǒng)各路音頻流音量進(jìn)行調(diào)整。音頻焦點(diǎn)控制策略為:根據(jù)系統(tǒng)中每路音頻流類型規(guī)定其優(yōu)先級(jí),當(dāng)某個(gè)音頻流需要播放時(shí),請(qǐng)求音頻焦點(diǎn),如果其優(yōu)先級(jí)大于當(dāng)前正在播放的音頻流的優(yōu)先級(jí),賦予其音頻焦點(diǎn),否則便不賦予其音頻焦點(diǎn);當(dāng)享有音頻焦點(diǎn)的音頻流停止播放時(shí),釋放其音頻焦點(diǎn),并為剩余正在播放的音頻流中優(yōu)先級(jí)最高的音頻流賦予音頻焦點(diǎn)。預(yù)設(shè)的音量規(guī)則為:規(guī)定每種音頻流的原始音量,享有音頻焦點(diǎn)時(shí)的音量以及其不享有音頻焦點(diǎn)時(shí)的音量。在控制過(guò)程中實(shí)時(shí)維護(hù)每路音頻流信息,包括:類型、優(yōu)先級(jí)、原始音量、享有1不享有音頻焦點(diǎn)時(shí)的音量、當(dāng)前是否享有音頻焦點(diǎn)。按照功能可以將以上所述劃分為如下模塊:
(1)控制模塊:根據(jù)音頻焦點(diǎn)控制策略
確定享有音頻焦點(diǎn)的音頻流,更新相關(guān)的音頻流信息,并通知調(diào)整模塊;
(2)調(diào)整模塊:監(jiān)聽(tīng)音頻焦點(diǎn)的變化,獲取各路音頻流信息,按照預(yù)設(shè)的音量規(guī)則,調(diào)整其播放音量;
(3)維護(hù)模塊:維護(hù)各路音頻流信息,包括類型、優(yōu)先級(jí)、原始音量、享有1不享有音頻焦點(diǎn)時(shí)的音量、當(dāng)前是否享有音頻焦點(diǎn)。各個(gè)模塊間的交互如圖1所示。
控制模塊流程如圖2所示,調(diào)整模塊流程如圖3所示。
3測(cè)試分析
將該方案移植進(jìn)Android原生系統(tǒng)進(jìn)行測(cè)試,音頻流類型以及為各個(gè)類型音頻流預(yù)設(shè)音量規(guī)則如表1所示。其中,規(guī)定優(yōu)先級(jí)由高到低為0-9,音量值范圍為0-15。
測(cè)試效果需通過(guò)聽(tīng)覺(jué)進(jìn)行感知,該方案能夠有效去除多路音頻輸出時(shí)混音所帶來(lái)的聽(tīng)覺(jué)混淆,其已經(jīng)被應(yīng)用于量產(chǎn)并且投放市場(chǎng)的某車載電子產(chǎn)品中,系統(tǒng)中跟音頻輸出相關(guān)的應(yīng)用為電話、語(yǔ)言助理、導(dǎo)航、音樂(lè)、藍(lán)牙,所對(duì)應(yīng)的音頻流類型規(guī)定為STREAM_VOICE_CALL、STREAM_NOTIFICATION、STREAM_SYSTEM、STREAMMUSIC、STREAMBLUETOOTHSCO,音量規(guī)則按照表1進(jìn)行設(shè)定,從市場(chǎng)反饋來(lái)看,用戶體驗(yàn)度和駕駛安全性都得到了很大提升。
4結(jié)論
根據(jù)定義的音頻焦點(diǎn)控制策略以及預(yù)設(shè)的音量規(guī)則,當(dāng)音頻焦點(diǎn)變化時(shí),調(diào)整各音頻流的播放音量。對(duì)享有音頻焦點(diǎn)和不享有音頻焦點(diǎn)的音頻流設(shè)置不同的播放音量,從而實(shí)現(xiàn)對(duì)多個(gè)音頻流分別采用不同的播放音量同時(shí)播放,可以很好的解決混音所帶來(lái)的問(wèn)題,既能實(shí)現(xiàn)多路音頻的同時(shí)播放,又不會(huì)造成聽(tīng)覺(jué)混淆,極大的提升了使用者的體驗(yàn)度和安全性。
從實(shí)現(xiàn)上來(lái)看,可以將音頻焦點(diǎn)控制策略以及音量規(guī)則定義成可配置的文件,與傳統(tǒng)的多路音頻控制方案相比,優(yōu)勢(shì)在于:
(1)當(dāng)控制策略發(fā)生變化時(shí),無(wú)需修改源碼,只需修改配置即可,可擴(kuò)展性較強(qiáng),能夠快速適應(yīng)不同產(chǎn)品之間的變化,降低了開(kāi)發(fā)和維護(hù)成本;
(2)對(duì)音頻流的控制不改變音頻流本身的播放邏輯,不存在系統(tǒng)資源的申請(qǐng)和釋放,對(duì)性能影響較小;
(3)對(duì)實(shí)時(shí)音頻流的控制和本地音頻流的控制相同,無(wú)需獨(dú)立的邏輯。
該方案的應(yīng)用場(chǎng)景并不局限于車載電子系統(tǒng),可以將其應(yīng)用于任何有此類需求的智能系統(tǒng)中,并且適用于各種類型的音頻流,對(duì)其進(jìn)行統(tǒng)一管理,并對(duì)播放規(guī)則進(jìn)行控制,通用性較強(qiáng),可擴(kuò)展性較好,且維護(hù)成本較低。
參考文獻(xiàn)
[1]李釣,谷守康,車載信息系統(tǒng)市場(chǎng)應(yīng)用現(xiàn)狀[J].汽車工程師,2018(05):14-17.
[2]王穎,張偉,吳姓,車載信息系統(tǒng)與駕駛安全研究綜述[J].科技導(dǎo)報(bào),2009(13):105-110.
[3]白杰。車載娛樂(lè)信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].吉林:吉林大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,2015.
[4]竺增寶,車載多媒體音頻系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]上海:上海交通大學(xué)電子信息與電氣工程學(xué)院,2015.
[5]林學(xué)森,深入理解Android內(nèi)核設(shè)計(jì)思想[M].第2版(上冊(cè)).北京:人民郵電出版社,2017:2-35,526-611.