本發(fā)明涉及在多窗口智能電視系統(tǒng)下,控制音頻數(shù)據(jù)定向輸出的方法,屬于智能電視技術領域。
背景技術:
智能電視的大屏幕和多人使用的特點,非常適合做多窗口應用。而在現(xiàn)有的支持多窗口的智能系統(tǒng)上,打開多窗口時,各個窗口的媒體音頻將同時發(fā)出,導致聲音混亂,給使用者造成困擾。本發(fā)明提出了一種在多窗口智能電視系統(tǒng)中實現(xiàn)自動音頻路由的方法,使得在多窗口的各種場景下,可以合理控制音頻數(shù)據(jù)的定向輸出。
技術實現(xiàn)要素:
本發(fā)明的目的在于提供一種在多窗口的各種場景下,可以合理控制音頻數(shù)據(jù)的定向輸出的智能電視多窗口環(huán)境下實現(xiàn)音頻路由控制的方法。
在智能電視系統(tǒng)的音頻路由時,需要考慮以下幾種情況:
一、在智能系統(tǒng)中,媒體音頻可以通過軟解碼和硬解碼兩種方式送出,這兩種方式的實現(xiàn)和控制方式有較大區(qū)別;A、軟解碼通過軟件方式將音頻文件解碼出音頻碼流,隨后音頻碼流交給系統(tǒng)調(diào)節(jié)音量信息和混音后,輸出給音頻硬件;B、硬解碼方式將音頻文件交給DSP硬件,解碼出音頻碼流,隨后音頻碼流不經(jīng)過系統(tǒng)(即系統(tǒng)不能直接控制碼流),直接交給音頻硬件,需要通過音頻芯片接口調(diào)節(jié)音量等信息。本發(fā)明的實現(xiàn)需要分別控制軟解、硬解兩種音頻文件播放方式的靜音狀態(tài)。
二、在TV播放情況下,TV音頻從各自物理輸入端口進入DSP產(chǎn)生音頻碼流后,音頻數(shù)據(jù)不經(jīng)過系統(tǒng)直接送到音頻輸出設備(類似上一條中,硬解碼音頻文件的情況)。本發(fā)明的實現(xiàn)需要控制TV播放時,TV揚聲器可以在伴音輸出狀態(tài)/靜音狀態(tài)之間自由轉換。
三、在藍牙設備連接的情況下,媒體音頻可以通過本機揚聲器和藍牙揚聲器發(fā)出(即各個媒體資源產(chǎn)生的音頻可以單獨從本機揚聲器或藍牙揚聲器發(fā)出,也可以同時從這兩種揚聲器設備發(fā)出),本發(fā)明的實現(xiàn)需要控制藍牙設備連接時,音頻數(shù)據(jù)將發(fā)送給的揚聲器設備。
在目前的智能電視系統(tǒng)中,沒有針對多窗口的音頻路由管理機制,所以在多窗口的情況下,所有窗口中的應用所播放的聲音,會同時從各個輸出通道發(fā)出。為了在開啟了多個窗口的情況下,不造成音頻輸出的混亂,現(xiàn)提出一種音頻路由控制的方法,此方法將實現(xiàn)對所有窗口中的應用所播放的各種音頻的管控和定向路由功能。
本發(fā)明具體是這樣實現(xiàn)的:
智能電視多窗口環(huán)境下實現(xiàn)音頻路由控制的方法,包括:
狀態(tài)1、當藍牙揚聲器未接入時,電視揚聲器僅發(fā)出焦點窗口中播放的音頻;
狀態(tài)2、當藍牙揚聲器接入后,焦點窗口媒體音頻將由本機揚聲器發(fā)出,非焦點窗口音頻將由藍牙揚聲器發(fā)出。實現(xiàn)方式如下:
2.1自動設置各個窗口中應用播放媒體文件時所產(chǎn)生的音軌(Track)的窗口標記。在焦點窗口變動時,可根據(jù)音軌的窗口標記信息,確定如何控制此音軌的靜音狀態(tài),或如何選擇此音軌的輸出設備。包括如下步驟:
A、對于應用間接使用音軌(Track)播放(如通過系統(tǒng)多媒體播放器(MediaPlayer))、和應用直接使用音軌播放的情況,在音軌創(chuàng)建時,向系統(tǒng)查詢到創(chuàng)建各個音軌的應用所在的進程號(PID);
B、向系統(tǒng)查詢到此進程號對應的應用包名(PackageName)信息;
C、根據(jù)包名信息,向系統(tǒng)查詢到應用當前所在的窗口信息;
D、將音軌所在窗口的標記信息寫入音軌的標記(Flage)信息中。
通過上面的一系列步驟,一個音軌就與一個窗口相關聯(lián)了。
2.2用戶切換焦點窗口時,系統(tǒng)在改變窗口焦點的同時,主動觸發(fā)音頻切換流程。
A、若藍牙揚聲器未接入:判斷系統(tǒng)中所有音軌的窗口標記信息(在第一步中獲得),將窗口標記信息等于目前焦點窗口的音軌設置為非靜音狀態(tài),并將其他媒體音軌設置為靜音狀態(tài)。從而實現(xiàn)焦點窗口出聲,非焦點窗口靜音;
B、若藍牙揚聲器已接入:判斷系統(tǒng)中所有音軌的窗口標記信息(在第一步中獲得),將窗口標記信息等于目前焦點窗口的音軌,移動到本機揚聲器混音線程(PlayBackThread),并將其他媒體音軌移動到藍牙揚聲器混音線程。在混音線程完成音軌混音后,將自動把音頻發(fā)往各自的揚聲器設備,實現(xiàn)焦點窗口的聲音發(fā)往本機揚聲器,非焦點窗口的聲音發(fā)往藍牙揚聲器;
2.3多窗口已經(jīng)開啟的情況下,當藍牙揚聲器接入時,此時不涉及焦點窗口的改變,需要如下附加流程保證功能的完善:將窗口標記信息等于目前焦點窗口的音軌移動到本機揚聲器混音線程,并將其他媒體音軌移動到藍牙揚聲器混音線程。
2.4對于TV和硬解媒體音頻,由于他們的音頻流不經(jīng)過系統(tǒng),系統(tǒng)不能直接控制這兩種情況的靜音狀態(tài),而需要在切換焦點窗口時,通過音頻芯片接口單獨控制其靜音狀態(tài)。由于系統(tǒng)中可以使用硬件解碼的應用是確定的,并且同一時間只有一個應用能使用硬件資源解碼,可以根據(jù)非焦點窗口中運行的應用是否使用硬解碼,來判斷如何控制硬解碼的聲音狀態(tài)。
用戶切換焦點窗口時,系統(tǒng)在改變窗口焦點的同時,設置TV和硬解媒體音頻的狀態(tài):
A、藍牙揚聲器未接入:若非焦點窗口中存在播放TV和硬解媒體音頻的應用,通過音頻芯片接口將本機揚聲器TV和硬解碼通道靜音;
B、藍牙揚聲器已接入:若非焦點窗口中存在播放TV和硬解媒體音頻的應用,通過音頻芯片接口將本機揚聲器TV和硬解碼通道靜音,并將TV和硬解媒體音頻的數(shù)據(jù)發(fā)送給藍牙設備輸出。
本發(fā)明具有如下特點:
本發(fā)明基于多窗口的智能電視系統(tǒng),此系統(tǒng)能夠支持多窗口分屏,并且支持在各個窗口中播放媒體音頻以及TV節(jié)目。
本發(fā)明可以單獨控制每個窗口中媒體音頻和TV內(nèi)容的靜音與否。
本發(fā)明可以控制每個窗口中媒體音頻的輸出方向,即音頻傳送到何種輸出設備。
本發(fā)明針對軟解、硬解和TV音頻做不同控制,以實現(xiàn)每個窗口軟解媒體內(nèi)容、硬解媒體內(nèi)容和TV節(jié)目音頻的控制。
本發(fā)明可以根據(jù)要求將不同窗口的音頻內(nèi)容送往本機揚聲器或藍牙揚聲器等不同的音頻輸出設備。
本發(fā)明能夠根據(jù)用戶選擇的焦點窗口,自動實現(xiàn)窗口音頻的控制。
本發(fā)明中,當藍牙音頻設備未連接時,本機揚聲器發(fā)出的音頻內(nèi)容為焦點窗口內(nèi)容,并且可以隨用戶切換焦點窗口的動作,實時切換揚聲器發(fā)出對應窗口的音頻內(nèi)容;
當藍牙音頻設備連接時,本機揚聲器發(fā)出的音頻內(nèi)容為焦點窗口音頻內(nèi)容,藍牙音頻設備發(fā)出的音頻為背景窗口音頻內(nèi)容。并且可以隨用戶切換焦點窗口的動作,實時切換揚聲器和藍牙音頻設備,使他們發(fā)出不同窗口的音頻內(nèi)容。
本發(fā)明最終能夠在多窗口的各種場景下,合理控制音頻數(shù)據(jù)的定向輸出。
附圖說明
圖1媒體音軌的建立;
圖2藍牙接入時的流程;
圖3藍牙已接入情況下,切換焦點窗口時的路由控制;
圖4藍牙未接入情況下,切換焦點窗口時的路由控制。
具體實施方式
如附圖所示,智能電視多窗口環(huán)境下實現(xiàn)音頻路由控制的方法,包括:
1)、用戶開啟新窗口,播放音視頻,觸發(fā)狀態(tài)1流程,為新建的音軌寫入窗口標記。
2)、當未連接藍牙音箱時,用戶切換焦點窗口,系統(tǒng)在改變窗口焦點的同時觸發(fā)音頻路由控制流程:
將所有標記為焦點窗口的音軌設置為非靜音,其他音軌設置為靜音;同時設置tv和硬解碼的音頻靜音狀態(tài)。
3)、當已連接藍牙音箱時,用戶切換焦點窗口,系統(tǒng)在改變窗口焦點的同時觸發(fā)音頻路由控制流程:
將所有標記為焦點窗口的音軌移動到本機揚聲器輸出,其他音軌移動到藍牙揚聲器輸出。同時設置tv和硬解碼的音頻輸出設備。
4)、用戶在已開啟多窗口的情況下接入藍牙音箱,系統(tǒng)自動將標記為焦點窗口的音軌移動到本機揚聲器輸出,其他音軌移動到藍牙揚聲器輸出。同時設置tv和硬解碼的音頻輸出設備;
盡管這里參照本發(fā)明的解釋性實施例對本發(fā)明進行了描述,上述實施例僅為本發(fā)明較佳的實施方式,本發(fā)明的實施方式并不受上述實施例的限制,應該理解,本領域技術人員可以設計出很多其他的修改和實施方式,這些修改和實施方式將落在本申請公開的原則范圍和精神之內(nèi)。