基於導航的音頻處理方法和裝置與流程
2023-05-30 18:12:17 3

本發明涉及導航技術領域,特別是涉及到一種基於導航的音頻處理方法和裝置。
背景技術:
目前,很多車輛集成了車載導航設備,車載導航設備可以為駕駛員指明駕駛路線,極大的方便了人們的出行。車載導航設備通常集成了導航、多媒體、收音機等功能,並且用戶可以根據需求下載並安裝第三方應用,因此車載導航設備不但可以進行導航報點,還可以播放音樂、收聽廣播、撥打電話等。
在行車過程中,用戶開啟導航的同時,通常也會播放音樂、收聽廣播或者撥打電話,此時導航應用與其它應用的音頻疊加在一起輸出,使得用戶無法聽清導航報點的聲音,從而影響行車路線的準確性以及行車的安全性。
技術實現要素:
本發明的主要目的為提供一種基於導航的音頻處理方法和裝置,旨在解決導航應用與其它應用的音頻疊加在一起輸出導致用戶無法聽清導航報點的聲音的技術問題。
為達以上目的,本發明實施例提出一種基於導航的音頻處理方法,所述方法包括以下步驟:
設置非導航音頻與導航音頻的混音比例;
監聽是否有導航音頻輸出;
當有導航音頻輸出時,根據所述混音比例降低非導航音頻的輸出音量。
可選地,所述監聽是否有導航音頻輸出的步驟包括:
監聽申請音頻焦點的請求;
在申請音頻焦點的請求中判斷當前有音頻輸出的應用是否為導航應用;
若是,則判定有導航音頻輸出。
可選地,所述監聽是否有導航音頻輸出的步驟包括:
監聽當前的音頻流;
判斷所述音頻流的名稱是否為指定名稱;
若是,則判定有導航音頻輸出。
可選地,所述監聽是否有導航音頻輸出的步驟之前還包括:
設置導航應用的應用名稱;
在所述導航應用創建音軌對象時,根據所述導航應用的應用名稱將所述導航應用的音頻流設置為指定名稱。
可選地,所述根據所述混音比例降低非導航音頻的輸出音量的步驟之後還包括:
監聽導航音頻輸出是否結束;
當導航音頻輸出結束時,恢復非導航音頻的輸出音量至原有音量。
可選地,所述監聽導航音頻輸出是否結束的步驟包括:
監聽放棄音頻焦點的請求;
在放棄音頻焦點的請求中判斷當前放棄音頻輸出的應用是否為導航應用;
若是,則判定導航音頻輸出結束。
可選地,所述監聽導航音頻輸出是否結束的步驟包括:
監聽當前的音頻流;
判斷所述音頻流的名稱是否為非指定名稱;
若是,則判定導航音頻輸出結束。
可選地,所述方法應用於車載導航設備。
可選地,所述車載導航設備基於安卓系統。
本發明實施例同時提出一種基於導航的音頻處理裝置,所述裝置包括:
混音設置模塊,用於設置非導航音頻與導航音頻的混音比例;
第一音頻監聽模塊,用於監聽是否有導航音頻輸出;
音量降低模塊,用於當有導航音頻輸出時,根據所述混音比例降低非導航音頻的輸出音量。
可選地,所述第一音頻監聽模塊包括:
第一請求監聽單元,用於監聽申請音頻焦點的請求;
第一應用判斷單元,用於在申請音頻焦點的請求中判斷當前有音頻輸出的應用是否為導航應用;
第一輸出判定單元,用於若當前有音頻輸出的應用為導航應用,則判定有導航音頻輸出。
可選地,所述第一音頻監聽模塊包括:
第一音頻流監聽單元,用於監聽當前的音頻流;
第一名稱判斷單元,用於判斷所述音頻流的名稱是否為指定名稱;
第二輸出判定單元,用於若所述音頻流的名稱為指定名稱,則判定有導航音頻輸出。
可選地,所述裝置還包括名稱設置模塊,所述名稱設置模塊包括:
應用名稱設置單元,用於設置導航應用的應用名稱;
音頻流名稱設置單元,用於在所述導航應用創建音軌對象時,根據所述導航應用的應用名稱將所述導航應用的音頻流設置為指定名稱。
可選地,所述裝置還包括:
第二音頻監聽模塊,用於監聽導航音頻輸出是否結束;
音量恢復模塊,用於當導航音頻輸出結束時,恢復非導航音頻的輸出音量至原有音量。
可選地,所述第二音頻監聽模塊包括:
第二請求監聽單元,用於監聽放棄音頻焦點的請求;
第二應用判斷單元,用於在放棄音頻焦點的請求中判斷當前放棄音頻輸出的應用是否為導航應用;
第一結束判定單元,用於若當前放棄音頻輸出的應用為導航應用,則判定導航音頻輸出結束。
可選地,所述第二音頻監聽模塊包括:
第二音頻流監聽單元,用於監聽當前的音頻流;
第二名稱判斷單元,用於判斷所述音頻流的名稱是否為非指定名稱;
第二結束判定單元,用於若所述音頻流的名稱為非指定名稱,則判定導航音頻輸出結束。
可選地,所述裝置應用於車載導航設備。
本發明實施例還提出一種車載導航設備,所述車載導航設備包括存儲器、處理器和至少一個被存儲在所述存儲器中並被配置為由所述處理器執行的應用程式,所述應用程式被配置為用於執行前述基於導航的音頻處理方法。
本發明實施例所提供的一種基於導航的音頻處理方法,通過設置非導航音頻與導航音頻的混音比例,當有導航音頻輸出時則根據混音比例降低非導航音頻的輸出音量,使得行車過程中用戶能夠清晰的聽到導航報點的聲音,解決了導航應用與其它應用的音頻疊加在一起輸出導致用戶無法聽清導航報點的聲音的技術問題,保證了行車路線的準確性,提高了行車的安全性,極大的提升了用戶體驗。
附圖說明
圖1是本發明基於導航的音頻處理方法第一實施例的流程圖;
圖2是本發明基於導航的音頻處理方法第二實施例的流程圖;
圖3是本發明基於導航的音頻處理裝置第一實施例的模塊示意圖;
圖4是圖3中的第一音頻監聽模塊的模塊示意圖;
圖5是圖3中的第一音頻監聽模塊的又一模塊示意圖;
圖6是本發明基於導航的音頻處理裝置第二實施例的模塊示意圖;
圖7是圖6中的名稱設置模塊的模塊示意圖;
圖8是本發明基於導航的音頻處理裝置第三實施例的模塊示意圖;
圖9是圖8中的第二音頻監聽模塊的模塊示意圖;
圖10是圖8中的第二音頻監聽模塊的又一模塊示意圖。
本發明目的的實現、功能特點及優點將結合實施例,參照附圖做進一步說明。
具體實施方式
應當理解,此處所描述的具體實施例僅僅用以解釋本發明,並不用於限定本發明。
下面詳細描述本發明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,僅用於解釋本發明,而不能解釋為對本發明的限制。
本技術領域技術人員可以理解,除非特意聲明,這裡使用的單數形式「一」、「一個」、「所述」和「該」也可包括複數形式。應該進一步理解的是,本發明的說明書中使用的措辭「包括」是指存在所述特徵、整數、步驟、操作、元件和/或組件,但是並不排除存在或添加一個或多個其他特徵、整數、步驟、操作、元件、組件和/或它們的組。應該理解,當我們稱元件被「連接」或「耦接」到另一元件時,它可以直接連接或耦接到其他元件,或者也可以存在中間元件。此外,這裡使用的「連接」或「耦接」可以包括無線連接或無線耦接。這裡使用的措辭「和/或」包括一個或更多個相關聯的列出項的全部或任一單元和全部組合。
本技術領域技術人員可以理解,除非另外定義,這裡使用的所有術語(包括技術術語和科學術語),具有與本發明所屬領域中的普通技術人員的一般理解相同的意義。還應該理解的是,諸如通用字典中定義的那些術語,應該被理解為具有與現有技術的上下文中的意義一致的意義,並且除非像這裡一樣被特定定義,否則不會用理想化或過於正式的含義來解釋。
參照圖1,提出本發明基於導航的音頻處理方法第一實施例,本發明實施例基於導航的音頻處理方法,可以應用於車載導航設備,也可以應用於手機、平板等具有導航功能的移動終端或者可攜式導航設備。本發明實施例以應用於車載導航設備為例進行詳細說明,所述車載導航設備優選基於安卓(android)系統,當然也可以基於其它的作業系統,在此不做限定。所述方法包括以下步驟:
s11、設置非導航音頻與導航音頻的混音比例。
混音比例的設置範圍為0-1。當設置為0時,非導航音頻靜音,只有導航音頻輸出;當設置為1時,非導航音頻的輸出音量保持不變,並與導航音頻疊加後輸出;當設置在0-1之間時,則按比例降低非導航音頻的輸出音量,然後與導航音頻疊加輸出。
在具體實施時,可以在上層應用設置混音比例。進一步地,還可以設置混音開關,當混音開關開啟時,根據混音比例調整非導航音頻的輸出音量;當混音開關關閉時,則不予調整非導航音頻。
本發明實施例所述的非導航音頻,是指除導航應用之外的其它任何應用輸出的音頻,包括音樂、廣播、電話等。
s12、監聽是否有導航音頻輸出。當有導航音頻輸出時,進入下一步驟s13。
本發明實施例中,車載導航設備可以通過以下方式監聽是否有導航音頻輸出:
可選地,車載導航設備監聽申請音頻焦點(requestaudiofocus)的請求,在申請音頻焦點的請求中判斷當前有音頻輸出的應用是否為導航應用;若當前有音頻輸出的應用為導航應用,則說明導航應用開始導航報點,判定有導航音頻輸出;若當前有音頻輸出的應用不是導航應用,則判定沒有導航音頻輸出。
可選地,車載導航設備監聽當前的音頻流,判斷該音頻流的名稱是否為指定名稱;若該音頻流的名稱為指定名稱,則說明當前的音頻流為導航應用的音頻流,判定有導航音頻輸出;若該音頻流的名稱為非指定名稱,則說明當前的音頻流不是導航應用的音頻流,判定沒有導航音頻輸出。
本發明的方法基於安卓系統運用,本發明所述的安卓系統從高層到低層分別是應用程式層(即上層)、框架層(framework)、系統運行庫層和linux核心層。具體實施時,可以在步驟s12之前為導航應用的音頻流設置指定名稱,具體為:通過上層應用調用音頻管理器(audiomanager)的接口設置導航應用的應用名稱;在框架層在導航應用創建音軌(audiotrack)對象時,根據導航應用的應用名稱將導航應用的音頻流設置為指定名稱,如「stream_alarm」。
本領域技術人員可以理解,除此之外,還可以通過現有技術中的其它方式監聽是否有導航音頻輸出,在此不再一一列舉贅述。
s13、根據混音比例降低非導航音頻的輸出音量。
本發明實施例中,當有導航音頻輸出時,車載導航設備則根據混音比例降低非導航音頻的輸出音量,確保行車過程中用戶能夠清晰的聽到導航報點的聲音,保證正確的行車路線和行車安全。
例如,當混音比例為0.3時,則將非導航音頻的輸出音量降至原有音量的30%,即在原有音量的基礎上降低70%;當混音比例為0.6時,則將非導航音頻的輸出音量降至原有音量的60%,即在原有音量的基礎上降低40%。
進一步地,除了為所有的非導航音頻統一設置混音比例外,還可以分別為不同的非導航音頻設置不同的混音比例。例如,分別對音樂、廣播、電話設置混音比例為0.5、0.6和0.8,當導航音頻輸出的同時有音樂輸出時,則將音樂的輸出音量降至原有音量的50%;當導航音頻輸出的同時有廣播輸出時,則將廣播的輸出音量降至原有音量的60%;當導航音頻輸出的同時有電話輸出時,則將電話的輸出音量降至原有音量的80%。從而,用戶可以根據需要對重要的音頻信息設置更高的混音比例,在聽清導航報點的同時,也不會錯過重要的音頻信息。
進一步地,在本發明基於導航的音頻處理方法第二實施例,步驟s13之後還包括:
s14、監聽導航音頻輸出是否結束。當導航音頻輸出結束時,進入下一步驟s15。
本發明實施例中,車載導航設備可以通過以下方式監聽導航音頻輸出是否結束:
可選地,車載導航設備監聽放棄音頻焦點(abandonaudiofocus)的請求,在放棄音頻焦點的請求中判斷當前放棄音頻輸出的應用是否為導航應用;若當前放棄音頻輸出的應用為導航應用,則說明導航應用結束導航報點,判定導航音頻輸出結束。
可選地,車載導航設備監聽當前的音頻流,判斷當前的音頻流的名稱是否為非指定名稱;若該音頻的名稱為非指定名稱,則說明當前的音頻流不是導航應用的音頻流,判定導航音頻輸出結束。例如,指定名稱為「stream_alarm」,噹噹前的音頻流的名稱不再是「stream_alarm」,則判定導航音頻輸出結束。
本領域技術人員可以理解,除此之外,還可以通過現有技術中的其它方式監聽導航音頻輸出是否結束,在此不再一一列舉贅述。
s15、恢復非導航音頻的輸出音量至原有音量。
當導航音頻輸出結束時,車載導航設備則立即恢復非導航音頻的輸出音量至原有音量,從而使得用戶可以恢復正常聽音樂、聽廣播、打電話等。
本發明實施例基於導航的音頻處理方法,通過設置非導航音頻與導航音頻的混音比例,當有導航音頻輸出時則根據混音比例降低非導航音頻的輸出音量,使得行車過程中用戶能夠清晰的聽到導航報點的聲音,保證了行車路線的準確性,提高了行車的安全性,極大的提升了用戶體驗。
參見圖3,提出本發明基於導航的音頻處理裝置第一實施例,本發明實施例基於導航的音頻處理裝置,可以應用於車載導航設備,也可以應用於手機、平板等具有導航功能的移動終端或者可攜式導航設備。本發明實施例以應用於車載導航設備為例進行詳細說明,所述車載導航設備優選基於安卓(android)系統,當然也可以基於其它的作業系統,在此不做限定。
所述裝置包括混音設置模塊10、第一音頻監聽模塊20和音量降低模塊30,其中:混音設置模塊10,用於設置非導航音頻與導航音頻的混音比例;第一音頻監聽模塊20,用於監聽是否有導航音頻輸出;音量降低模塊30,用於當有導航音頻輸出時,根據混音比例降低非導航音頻的輸出音量。
本發明實施例所述的非導航音頻,是指除導航應用之外的其它任何應用輸出的音頻,包括音樂、廣播、電話等。
本發明實施例中,混音比例的設置範圍為0-1。當設置為0時,非導航音頻靜音,只有導航音頻輸出;當設置為1時,非導航音頻的輸出音量保持不變,並與導航音頻疊加後輸出;當設置在0-1之間時,則按比例降低非導航音頻的輸出音量,然後與導航音頻疊加輸出。
在具體實施時,混音設置模塊10可以在上層應用設置混音比例。進一步地,還可以設置混音開關,當混音開關開啟時,根據混音比例調整非導航音頻的輸出音量;當混音開關關閉時,則不予調整非導航音頻。
本發明實施例中,當有導航音頻輸出時,音量降低模塊30則根據混音比例降低非導航音頻的輸出音量,確保行車過程中用戶能夠清晰的聽到導航報點的聲音,保證正確的行車路線和行車安全。
例如,當混音比例為0.3時,音量降低模塊30則將非導航音頻的輸出音量降至原有音量的30%,即在原有音量的基礎上降低70%;當混音比例為0.6時,音量降低模塊30則將非導航音頻的輸出音量降至原有音量的60%,即在原有音量的基礎上降低40%。
進一步地,除了為所有的非導航音頻統一設置混音比例外,混音設置模塊10還可以分別為不同的非導航音頻設置不同的混音比例。例如,分別對音樂、廣播、電話設置混音比例為0.5、0.6和0.8,當導航音頻輸出的同時有音樂輸出時,音量降低模塊30則將音樂的輸出音量降至原有音量的50%;當導航音頻輸出的同時有廣播輸出時,音量降低模塊30則將廣播的輸出音量降至原有音量的60%;當導航音頻輸出的同時有電話輸出時,音量降低模塊30則將電話的輸出音量降至原有音量的80%。從而,用戶可以根據需要對重要的音頻信息設置更高的混音比例,在聽清導航報點的同時,也不會錯過重要的音頻信息。
本發明實施例中,車載導航設備可以通過以下方式監聽是否有導航音頻輸出:
可選地,如圖4所示,第一音頻監聽模塊20包括第一請求監聽單元21、第一應用判斷單元22和第一輸出判定單元23,其中:第一請求監聽單元21,用於監聽申請音頻焦點的請求;第一應用判斷單元22,用於在申請音頻焦點的請求中判斷當前有音頻輸出的應用是否為導航應用;第一輸出判定單元23,用於若當前有音頻輸出的應用為導航應用,則判定有導航音頻輸出,否則判定沒有導航音頻輸出。
可選地,如圖5所示,第一音頻監聽模塊20包括第一音頻流監聽單元24、第一名稱判斷單元25和第二輸出判定單元26,其中:第一音頻流監聽單元24,用於監聽當前的音頻流;第一名稱判斷單元25,用於判斷當前的音頻流的名稱是否為指定名稱;第二輸出判定單元26,用於若音頻流的名稱為指定名稱,則說明當前的音頻流為導航應用的音頻流,判定有導航音頻輸出,否則判定沒有導航音頻輸出。
進一步地,如圖6所示,在本發明基於導航的音頻處理裝置第二實施例中,該裝置還包括名稱設置模塊40,通過該名稱設置模塊40來為導航應用的音頻流設置指定名稱。
如圖7所示,本發明的基於導航的音頻處理裝置基於安卓系統運用,本發明所述的安卓系統從高層到低層分別是應用程式層(即上層)、框架層(framework)、系統運行庫層和linux核心層。名稱設置模塊40包括應用名稱設置單元41和音頻流名稱設置單元42,其中:應用名稱設置單元41,用於設置導航應用的應用名稱,具體實施時,可以通過上層應用調用音頻管理器的接口來設置導航應用的應用名稱;音頻流名稱設置單元42,用於在框架層在導航應用創建音軌對象時,根據導航應用的應用名稱將導航應用的音頻流設置為指定名稱,如「stream_alarm」。
本領域技術人員可以理解,除此之外,還可以通過現有技術中的其它方式監聽是否有導航音頻輸出,在此不再一一列舉贅述。
進一步地,如圖8所示,在本發明基於導航的音頻處理裝置的第三實施例中,該裝置還包括第二音頻監聽模塊50和音量恢復模塊60,其中:第二音頻監聽模塊50,用於監聽導航音頻輸出是否結束;音量恢復模塊60,用於當導航音頻輸出結束時,恢復非導航音頻的輸出音量至原有音量。從而使得用戶可以恢復正常聽音樂、聽廣播、打電話等。
本發明實施例中,第二音頻監聽模塊50可以通過以下方式監聽導航音頻輸出是否結束:
可選地,如圖9所示,第二音頻監聽模塊50包括第二請求監聽單元51、第二應用判斷單元52和第一結束判定單元53,其中:第二請求監聽單元51,用於監聽放棄音頻焦點的請求;第二應用判斷單元52,用於在放棄音頻焦點的請求中判斷當前放棄音頻輸出的應用是否為導航應用;第一結束判定單元53,用於若當前放棄音頻輸出的應用為導航應用,則說明導航應用結束導航報點,判定導航音頻輸出結束。
可選地,如圖10所示,第二音頻監聽模塊50包括第二音頻流監聽單元54、第二名稱判斷單元55和第二結束判定單元56,其中:第二音頻流監聽單元54,用於監聽當前的音頻流;第二名稱判斷單元55,用於判斷當前的音頻流的名稱是否為非指定名稱;第二結束判定單元56,用於若當前的音頻流的名稱為非指定名稱,則說明當前的音頻流不是導航應用的音頻流,判定導航音頻輸出結束。例如,指定名稱為「stream_alarm」,噹噹前的音頻流的名稱不再是「stream_alarm」,第二結束判定單元56則判定導航音頻輸出結束。
本領域技術人員可以理解,除此之外,還可以通過現有技術中的其它方式監聽導航音頻輸出是否結束,在此不再一一列舉贅述。
本發明實施例基於導航的音頻處理裝置,通過設置非導航音頻與導航音頻的混音比例,當有導航音頻輸出時則根據混音比例降低非導航音頻的輸出音量,使得行車過程中用戶能夠清晰的聽到導航報點的聲音,保證了行車路線的準確性,提高了行車的安全性,極大的提升了用戶體驗。
本發明同時提出一種車載導航設備,所述車載導航設備包括存儲器、處理器和至少一個被存儲在存儲器中並被配置為由處理器執行的應用程式,所述應用程式被配置為用於執行基於導航的音頻處理方法。所述基於導航的音頻處理方法包括以下步驟:設置非導航音頻與導航音頻的混音比例;監聽是否有導航音頻輸出;當有導航音頻輸出時,根據所述混音比例降低非導航音頻的輸出音量。本實施例中所描述的基於導航的音頻處理方法為本發明中上述實施例所涉及的基於導航的音頻處理方法,在此不再贅述。
本領域技術人員可以理解,本發明包括涉及用於執行本申請中所述操作中的一項或多項的設備。這些設備可以為所需的目的而專門設計和製造,或者也可以包括通用計算機中的已知設備。這些設備具有存儲在其內的電腦程式,這些電腦程式選擇性地激活或重構。這樣的電腦程式可以被存儲在設備(例如,計算機)可讀介質中或者存儲在適於存儲電子指令並分別耦聯到總線的任何類型的介質中,所述計算機可讀介質包括但不限於任何類型的盤(包括軟盤、硬碟、光碟、cd-rom、和磁光碟)、rom(read-onlymemory,只讀存儲器)、ram(randomaccessmemory,隨機存儲器)、eprom(erasableprogrammableread-onlymemory,可擦寫可編程只讀存儲器)、eeprom(electricallyerasableprogrammableread-onlymemory,電可擦可編程只讀存儲器)、快閃記憶體、磁性卡片或光線卡片。也就是,可讀介質包括由設備(例如,計算機)以能夠讀的形式存儲或傳輸信息的任何介質。
本技術領域技術人員可以理解,可以用電腦程式指令來實現這些結構圖和/或框圖和/或流圖中的每個框以及這些結構圖和/或框圖和/或流圖中的框的組合。本技術領域技術人員可以理解,可以將這些電腦程式指令提供給通用計算機、專業計算機或其他可編程數據處理方法的處理器來實現,從而通過計算機或其他可編程數據處理方法的處理器來執行本發明公開的結構圖和/或框圖和/或流圖的框或多個框中指定的方案。
本技術領域技術人員可以理解,本發明中已經討論過的各種操作、方法、流程中的步驟、措施、方案可以被交替、更改、組合或刪除。進一步地,具有本發明中已經討論過的各種操作、方法、流程中的其他步驟、措施、方案也可以被交替、更改、重排、分解、組合或刪除。進一步地,現有技術中的具有與本發明中公開的各種操作、方法、流程中的步驟、措施、方案也可以被交替、更改、重排、分解、組合或刪除。
以上參照附圖說明了本發明的優選實施例,並非因此局限本發明的權利範圍。本領域技術人員不脫離本發明的範圍和實質,可以有多種變型方案實現本發明,比如作為一個實施例的特徵可用於另一實施例而得到又一實施例。凡在運用本發明的技術構思之內所作的任何修改、等同替換和改進,均應在本發明的權利範圍之內。