顯示終端信源切換方法及裝置的制造方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種顯示終端信源切換方法,該方法包括:監(jiān)測(cè)是否收到用戶(hù)輸入的信源切換指令;當(dāng)監(jiān)測(cè)到信源切換指令時(shí),強(qiáng)制停止處于運(yùn)行狀態(tài)的底層播放器,并釋放底層播放器占用的硬件資源;關(guān)閉當(dāng)前信源,并將顯示終端信源切換至信源切換指令對(duì)應(yīng)的目標(biāo)信源。本發(fā)明還公開(kāi)一種顯示終端信源切換裝置。本發(fā)明在監(jiān)測(cè)到信源切換指令時(shí),及時(shí)關(guān)閉當(dāng)前處于運(yùn)行狀態(tài)的底層播放器,及時(shí)釋放該底層播放器所占用的硬件資源,從而顯示終端切換至目標(biāo)信源后能夠順利申請(qǐng)到硬件資源,及時(shí)播放出目標(biāo)信源提供的影音數(shù)據(jù),避免出現(xiàn)智能電視切換信源申請(qǐng)不到硬件資源的情形,進(jìn)而解決了顯示終端切換信源播放模式容易出現(xiàn)黑屏無(wú)聲的技術(shù)問(wèn)題。
【專(zhuān)利說(shuō)明】
顯示終端信源切換方法及裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及顯示器技術(shù)領(lǐng)域,尤其涉及一種顯示終端信源切換方法及裝置。
【背景技術(shù)】
[0002]隨著顯示技術(shù)的不斷發(fā)展,越來(lái)越多的顯示終端(例如智能電視、平板電腦、智能手機(jī)等)能夠同時(shí)支持多媒體信源播放模式和基于電視信源的電視信源播放模式,當(dāng)顯示終端處于多媒體信源播放模式時(shí),顯示終端播放網(wǎng)絡(luò)在線(xiàn)視頻、用戶(hù)推送視頻、本地存儲(chǔ)視頻;當(dāng)顯示終端處于電視信源播放模式時(shí),顯示終端根據(jù)電視信源播放電視節(jié)目。但是,當(dāng)顯示終端從多媒體信源播放模式直接切換至電視信源播放模式,或者從電視信源播放模式切換至多媒體信源播放模式時(shí),顯示終端往往由于資源沖突的原因,導(dǎo)致顯示終端底層播放器無(wú)法及時(shí)獲取支持多媒體播放或電視節(jié)目播放的硬件資源(例如音視頻解碼芯片、顯存等),從而顯示終端容易容易出現(xiàn)因無(wú)信號(hào)輸入而導(dǎo)致的黑屏無(wú)聲的問(wèn)題。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的主要目的在于提供一種應(yīng)用列表同步方法及裝置,旨在解決顯示終端切換信源播放模式容易出現(xiàn)黑屏無(wú)聲的技術(shù)問(wèn)題。
[0004]為實(shí)現(xiàn)上述目的,本發(fā)明提供的一種顯示終端信源切換方法,該顯示終端信源切換方法包括:
[0005]監(jiān)測(cè)是否收到用戶(hù)輸入的信源切換指令;
[0006]當(dāng)監(jiān)測(cè)到所述信源切換指令時(shí),強(qiáng)制停止處于運(yùn)行狀態(tài)的底層播放器,并釋放所述底層播放器占用的硬件資源;及
[0007]當(dāng)所述硬件資源釋放完成或釋放硬件資源的時(shí)間超出預(yù)設(shè)時(shí)長(zhǎng)時(shí),切換所述顯示終端的信源至與所述信源切換指令對(duì)應(yīng)的目標(biāo)信源。
[0008]優(yōu)選地,該方法還包括:
[0009]在所述顯示終端進(jìn)入安卓系統(tǒng),且開(kāi)啟多媒體服務(wù)進(jìn)程時(shí),監(jiān)測(cè)該顯示終端是否收到用戶(hù)輸入的信源切換指令。
[0010]優(yōu)選地,該方法還包括:
[0011]分別創(chuàng)建表示信源切換動(dòng)作開(kāi)始和完成信源屬性值,表示底層播放器運(yùn)行和停止的播放器屬性值。
[0012]優(yōu)選地,該方法還包括:
[0013]在監(jiān)測(cè)到所述信源切換指令時(shí),將所述信源屬性值置為預(yù)設(shè)開(kāi)始標(biāo)志值;
[0014]在信源切換完成時(shí),將所述信源屬性值置為預(yù)設(shè)結(jié)束標(biāo)志值;
[0015]在底層播放器開(kāi)始運(yùn)行時(shí),將所述播放器屬性值置為預(yù)設(shè)運(yùn)行標(biāo)志值;
[0016]在底層播放器占用的硬件資源釋放完成或釋放硬件資源的時(shí)間超出預(yù)設(shè)時(shí)長(zhǎng)時(shí),將所述播放器屬性值置為預(yù)設(shè)結(jié)束標(biāo)志值。
[0017]優(yōu)選地,該方法包括:
[0018]監(jiān)測(cè)所述信源屬性值是否被置為預(yù)設(shè)開(kāi)始標(biāo)志值;
[0019]在所述信源屬性值被置為預(yù)設(shè)開(kāi)始標(biāo)志值時(shí),強(qiáng)制停止播放器屬性值被置為預(yù)設(shè)運(yùn)行標(biāo)志值的底層播放器,并釋放所述底層播放器占用的硬件資源;及
[0020]在所述信源屬性值被置為預(yù)設(shè)結(jié)束標(biāo)志值時(shí),切換所述顯示終端的信源至與所述信源切換指令對(duì)應(yīng)的目標(biāo)信源。
[0021]本發(fā)明還提供一種顯示終端信源切換裝置,該顯示終端信源切換裝置包括:
[0022]指令監(jiān)測(cè)模塊,用于監(jiān)測(cè)是否收到用戶(hù)輸入的信源切換指令;
[0023]資源釋放模塊,用于當(dāng)監(jiān)測(cè)到所述信源切換指令時(shí),強(qiáng)制停止處于運(yùn)行狀態(tài)的底層播放器,并釋放所述底層播放器占用的硬件資源;
[0024]信源切換模塊,用于當(dāng)所述硬件資源釋放完成或釋放硬件資源的時(shí)間超過(guò)預(yù)設(shè)時(shí)長(zhǎng)時(shí),切換所述顯示終端的信源至所述信源切換指令對(duì)應(yīng)的目標(biāo)信源。
[0025]優(yōu)選地,所述指令監(jiān)測(cè)模塊還用于:
[0026]在所述顯示終端進(jìn)入安卓系統(tǒng),且開(kāi)啟多媒體服務(wù)進(jìn)程時(shí),監(jiān)測(cè)該顯示終端是否收到用戶(hù)輸入的信源切換指令。
[0027]優(yōu)選地,所述顯示終端信源切換裝置還包括:
[0028]屬性創(chuàng)建模塊,用于分別創(chuàng)建表示信源切換動(dòng)作開(kāi)始和完成信源屬性值,表示底層播放器運(yùn)行和停止的播放器屬性值。
[0029]優(yōu)選地,所述顯示終端信源切換裝置還包括屬性設(shè)置模塊,所述屬性設(shè)置模塊包括:
[0030]第一設(shè)置單元,用于在監(jiān)測(cè)到所述信源切換指令時(shí),將所述信源屬性值置為預(yù)設(shè)開(kāi)始標(biāo)志值;
[0031]第二設(shè)置單元,用于在信源切換完成時(shí),將所述信源屬性值置為預(yù)設(shè)結(jié)束標(biāo)志值;
[0032]第三設(shè)置單元,用于在底層播放器開(kāi)始運(yùn)行時(shí),將所述播放器屬性值置為預(yù)設(shè)運(yùn)行標(biāo)志值;
[0033]第四設(shè)置單元,用于在底層播放器占用的硬件資源釋放完成或釋放硬件資源的時(shí)間超出預(yù)設(shè)時(shí)長(zhǎng)時(shí),將所述播放器屬性值置為預(yù)設(shè)結(jié)束標(biāo)志值。
[0034]優(yōu)選地,所述資源釋放模塊包括:
[0035]監(jiān)測(cè)單元,用于監(jiān)測(cè)所述信源屬性值是否被置為預(yù)設(shè)開(kāi)始標(biāo)志值;
[0036]釋放單元,用于在所述信源屬性值被置為預(yù)設(shè)開(kāi)始標(biāo)志值時(shí),強(qiáng)制停止播放器屬性值被置為預(yù)設(shè)運(yùn)行標(biāo)志值的底層播放器,并釋放所述底層播放器占用的硬件資源;
[0037]所述信源切換模塊,用于在所述信源屬性值被置為預(yù)設(shè)結(jié)束標(biāo)志值時(shí),切換所述顯示終端的信源至與所述信源切換指令對(duì)應(yīng)的目標(biāo)信源。
[0038]本發(fā)明通過(guò)實(shí)時(shí)監(jiān)測(cè)是否收到用戶(hù)輸入的信源切換指令,當(dāng)監(jiān)測(cè)到信源切換指令時(shí),強(qiáng)制停止處于運(yùn)行狀態(tài)的底層播放器,并釋放底層播放器占用的硬件資源,然后關(guān)閉當(dāng)前信源,并將顯示終端信源切換至信源切換指令對(duì)應(yīng)的目標(biāo)信源,從而在監(jiān)測(cè)到信源切換指令時(shí),及時(shí)關(guān)閉當(dāng)前處于運(yùn)行狀態(tài)的底層播放器,及時(shí)釋放該底層播放器所占用的硬件資源,從而顯示終端切換至目標(biāo)信源后能夠順利申請(qǐng)到硬件資源,及時(shí)播放出目標(biāo)信源提供的影音數(shù)據(jù),避免出現(xiàn)智能電視切換信源申請(qǐng)不到硬件資源的情形,進(jìn)而解決了顯示終端切換信源播放模式容易出現(xiàn)黑屏無(wú)聲的技術(shù)問(wèn)題。
【附圖說(shuō)明】
[0039]圖1為本發(fā)明顯示終端信源切換方法第一實(shí)施例的流程示意圖;
[0040]圖2為本發(fā)明顯示終端信源切換方法第二實(shí)施例的流程示意圖;
[0041]圖3為本發(fā)明顯示終端信源切換方法第三實(shí)施例的流程示意圖;
[0042]圖4為本發(fā)明顯示終端一實(shí)施例中安卓系統(tǒng)播放視頻的框架圖;
[0043]圖5為本發(fā)明顯示終端信源切換裝置第一實(shí)施例的功能模塊示意圖;
[0044]圖6為本發(fā)明顯示終端信源切換裝置第三實(shí)施例的功能模塊示意圖。
[0045]本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說(shuō)明。
【具體實(shí)施方式】
[0046]應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0047]本發(fā)明提供一種顯示終端信源切換方法,在本發(fā)明顯示終端信源切換方法的第一實(shí)施例中,參照?qǐng)D1,該顯示終端信源切換方法包括:
[0048]步驟S10,監(jiān)測(cè)是否收到用戶(hù)輸入的信源切換指令;
[0049]本申請(qǐng)中的顯示終端可以為智能電視、平板電腦、電腦顯示器等,以下以智能電視為例,智能電視一般包括多媒體信源播放模式和電視信源播放模式。智能電視處于多媒體信源播放模式下,智能電視獲取待播放視頻主要有網(wǎng)絡(luò)獲取途徑和本地獲取途徑,其中網(wǎng)絡(luò)獲取途徑主要為:I)在Launcher(桌面)界面或者通過(guò)某個(gè)視頻應(yīng)用進(jìn)行點(diǎn)播網(wǎng)絡(luò)視頻;
2)用戶(hù)通過(guò)微信等通信軟件向智能電視推送在線(xiàn)視頻;3)通過(guò)多屏互動(dòng)來(lái)推送在線(xiàn)視頻;本地獲取途徑為:提取存放在外接儲(chǔ)存設(shè)備(例如U盤(pán))中或通過(guò)網(wǎng)絡(luò)下載到本地(即智能電視本端)的視頻文件。
[0050]智能電視處于電視信源播放模式下,智能電視獲取待播放視頻主要是基于不同的音像傳輸接口技術(shù)(例如ATV(Analog TV,模擬信號(hào)輸入電視)、DTV(Digital TV,數(shù)字信號(hào)輸入電視)、HDMI (High Definit1n Multimedia Interface,高清晰度多媒體接口)、AV(Aud1&Video,音頻視頻復(fù)合信號(hào))、VGA(Video Graphics Array,視頻圖形陣列)等)所獲取的電視節(jié)目信號(hào)。
[0051]當(dāng)用戶(hù)需要切換智能電視的信源時(shí),用戶(hù)可以操作遙控器或語(yǔ)音小助手向智能電視發(fā)送信源切換指令,以將智能電視從當(dāng)前信源切換至目標(biāo)信源,或者從無(wú)信源狀態(tài)切換至目標(biāo)信源。智能電視的信源主要包括多媒體信源和電視信源,信源切換場(chǎng)景主要有兩種場(chǎng)景,場(chǎng)景一:從多媒體信源切換至電視信源,例如智能電視從使用視頻應(yīng)用(例如愛(ài)奇藝或騰訊視頻)播放在線(xiàn)視頻切換至電視信源、從播放微信或多屏互動(dòng)推送的在線(xiàn)視頻切換至DTV電視信源、從使用媒體中心應(yīng)用播放U盤(pán)中的視頻切換至HDMI電視信源;場(chǎng)景二,從電視信源切換至多媒體信源,例如智能電視在播放DTV,此時(shí)用戶(hù)使用微信向智能電視推送在線(xiàn)視頻。用戶(hù)在以上兩種場(chǎng)景下,只需操作控制遙控器向智能電視發(fā)送信源切換指令以達(dá)到信源切換的效果。
[0052]步驟S20,當(dāng)監(jiān)測(cè)到信源切換指令時(shí),強(qiáng)制停止處于運(yùn)行狀態(tài)的底層播放器,并釋放底層播放器占用的硬件資源;
[0053]當(dāng)顯示終端監(jiān)測(cè)到用戶(hù)發(fā)送的信源切換指令時(shí),檢測(cè)顯示終端的底層播放器是否處于運(yùn)行狀態(tài),當(dāng)?shù)讓硬シ牌魈幱谕V範(fàn)顟B(tài)時(shí),表明當(dāng)前顯示終端中支撐播放視頻的硬件資源沒(méi)有被占用,顯示終端無(wú)論處于多媒體信源還是電視信源都能及時(shí)獲取到所需硬件資源,不會(huì)出現(xiàn)黑屏無(wú)聲現(xiàn)象;當(dāng)?shù)讓硬シ牌魈幱谶\(yùn)行狀態(tài),表明此時(shí)顯示終端中的硬件資源被底層播放器占用,即當(dāng)前顯示終端開(kāi)啟了信源,若此時(shí)基于信源切換指令將當(dāng)前信源切換至目標(biāo)信源,則當(dāng)前信源無(wú)法及時(shí)釋放硬件資源,而目標(biāo)信源又無(wú)法申請(qǐng)到硬件資源,導(dǎo)致顯示終端無(wú)法顯示圖像而出現(xiàn)黑屏無(wú)聲問(wèn)題。所以,在監(jiān)測(cè)到信源切換指令且同時(shí)檢測(cè)到底層播放器處于運(yùn)行狀態(tài)時(shí),強(qiáng)制停止該處于運(yùn)行狀態(tài)的底層播放器,并將該底層播放器所占用的硬件資源釋放出來(lái)。
[0054]步驟S30,當(dāng)硬件資源釋放完成或釋放硬件資源的時(shí)間超出預(yù)設(shè)時(shí)長(zhǎng)時(shí),切換顯示終端的信源至與信源切換指令對(duì)應(yīng)的目標(biāo)信源。
[0055]在釋放底層播放器占用的硬件資源之后或釋放硬件資源的時(shí)長(zhǎng)超出預(yù)設(shè)時(shí)長(zhǎng)時(shí),關(guān)閉顯示終端的當(dāng)前信源,并將顯示終端信源切換至信源切換指令對(duì)應(yīng)的目標(biāo)信源。例如,當(dāng)前信源為多媒體信源,目標(biāo)信源為電視信源,顯示終端在接收到信源切換指令時(shí),關(guān)閉多媒體信源對(duì)應(yīng)底層播放器,并釋放該對(duì)應(yīng)底層播放器所占用的硬件資源,然后關(guān)閉多媒體信源,打開(kāi)電視信源,電視信源申請(qǐng)并獲得硬件資源以在對(duì)應(yīng)底層播放器上播放電視信源對(duì)應(yīng)的視頻節(jié)目。
[0056]在本實(shí)施例中,通過(guò)監(jiān)測(cè)是否收到用戶(hù)輸入的信源切換指令,當(dāng)監(jiān)測(cè)到信源切換指令時(shí),強(qiáng)制停止處于運(yùn)行狀態(tài)的底層播放器,并釋放底層播放器占用的硬件資源,然后在硬件資源釋放完成或釋放硬件資源的時(shí)間超出預(yù)設(shè)時(shí)長(zhǎng)時(shí),切換顯示終端的信源至與信源切換指令對(duì)應(yīng)的目標(biāo)信源,從而在監(jiān)測(cè)到信源切換指令時(shí),及時(shí)關(guān)閉當(dāng)前處于運(yùn)行狀態(tài)的底層播放器,及時(shí)釋放該底層播放器所占用的硬件資源,從而顯示終端切換至目標(biāo)信源后能夠順利申請(qǐng)到硬件資源,及時(shí)播放出目標(biāo)信源提供的影音數(shù)據(jù),避免出現(xiàn)智能電視切換信源申請(qǐng)不到硬件資源的情形,進(jìn)而解決了顯示終端切換信源播放模式容易出現(xiàn)黑屏無(wú)聲的技術(shù)問(wèn)題。
[0057]此外,本發(fā)明實(shí)現(xiàn)簡(jiǎn)單、通用性高,實(shí)現(xiàn)了用戶(hù)在看智能電視的同時(shí)隨意推送在線(xiàn)視頻,或從播放視頻的過(guò)程中隨意切換到TV等多種場(chǎng)景,從而極大的提升了智能電視(即顯示終端)的用戶(hù)體驗(yàn)。同時(shí),本發(fā)明的改進(jìn)是對(duì)顯示終端系統(tǒng)框架層(例如多媒體服務(wù)進(jìn)程)進(jìn)行改進(jìn),在不需要修改顯示終端內(nèi)視頻應(yīng)用的前提下,保證顯示終端中多個(gè)視頻應(yīng)用同時(shí)兼容本發(fā)明的方案,具有較強(qiáng)的通用性。
[0058]進(jìn)一步地,在本發(fā)明顯示終端信源切換方法第一實(shí)施例的基礎(chǔ)上,提出顯示終端信源切換方法第二實(shí)施例,參照?qǐng)D2,在第二實(shí)施例中,步驟SlO包括:
[0059]步驟Sll,在顯示終端進(jìn)入安卓系統(tǒng),且開(kāi)啟多媒體服務(wù)進(jìn)程時(shí),監(jiān)測(cè)該顯示終端是否收到用戶(hù)輸入的信源切換指令。
[0060]—般而言,顯示終端播放不同信源對(duì)應(yīng)數(shù)據(jù)(例如不同的片源或視頻APP)會(huì)使用不同的播放器,而切換信源這個(gè)操作一般是用戶(hù)主動(dòng)發(fā)起的,所以在顯示終端進(jìn)入安卓系統(tǒng)后,若顯示終端開(kāi)啟多媒體服務(wù)進(jìn)程,開(kāi)始播放多媒體數(shù)據(jù)或電視節(jié)目時(shí),此時(shí)創(chuàng)建一個(gè)線(xiàn)程來(lái)實(shí)時(shí)監(jiān)測(cè)顯示終端是否收到用戶(hù)輸入的信源切換指令,從而有針對(duì)性地在顯示終端開(kāi)啟多媒體服務(wù)進(jìn)程后,才實(shí)時(shí)監(jiān)測(cè)是否收到用戶(hù)輸入的信源切換指令,避免在顯示終端處于桌面界面等非多媒體服務(wù)進(jìn)程中時(shí),也進(jìn)行信源切換指令的監(jiān)測(cè),提高了顯示終端系統(tǒng)運(yùn)行效率。
[0061]進(jìn)一步地,在本發(fā)明顯示終端信源切換方法第一實(shí)施例的基礎(chǔ)上,提出顯示終端信源切換方法第三實(shí)施例,參照?qǐng)D3,在第三實(shí)施例中,步驟SlO之前還包括:
[0062]步驟S40,分別創(chuàng)建表示信源切換動(dòng)作開(kāi)始和完成的信源屬性值,表示底層播放器運(yùn)行和停止的播放器屬性值;
[0063]本發(fā)明的核心設(shè)計(jì)思想就是通過(guò)Android Property屬性來(lái)同步四個(gè)進(jìn)程間的通訊,四個(gè)進(jìn)程分別是:播放視頻進(jìn)程,mediaserver底層播放器服務(wù)進(jìn)程,切換信源的中間件進(jìn)程,TV apk進(jìn)程。
[0064]首先,在MediaPlayerService里面創(chuàng)建一個(gè)線(xiàn)程來(lái)監(jiān)聽(tīng)是否有切換信源的動(dòng)作(即信源切換屬性的標(biāo)志位),并且在各個(gè)類(lèi)型的底層播放器創(chuàng)建時(shí)會(huì)置一個(gè)標(biāo)示是否正在使用的播放器屬性值,其中,播放器屬性值設(shè)為mediaplayer.used?,當(dāng)?shù)讓硬シ牌鳛檫\(yùn)行時(shí),mediaplayer.used? = l,當(dāng)?shù)讓硬シ牌鳛橥V箷r(shí),mediaplayer.used? = 0;將信源屬性值設(shè)為mediap layer.force.stop,當(dāng)信源切換動(dòng)作為開(kāi)始時(shí),mediap layer.force.stop =I,當(dāng)信源切換動(dòng)作為完成時(shí),mediaplayer.force.stop = 0,便于顯示終端系統(tǒng)基于信源屬性值識(shí)別信源切換動(dòng)作,基于播放器屬性值識(shí)別底層播放器運(yùn)行狀態(tài)。
[0065]此外,步驟S40也可以在步驟SlO之后。
[0066]優(yōu)選地,步驟S20包括:
[0067]步驟S21,在監(jiān)測(cè)到信源切換指令時(shí),將信源屬性值置為預(yù)設(shè)開(kāi)始標(biāo)志值;
[0068]步驟S22,在信源切換完成時(shí),將信源屬性值置為預(yù)設(shè)結(jié)束標(biāo)志值;
[0069]在用戶(hù)選擇信源菜單開(kāi)始切信源的時(shí)候,即監(jiān)測(cè)到信源切換指令時(shí),中間件進(jìn)程會(huì)設(shè)置切換信源的標(biāo)志位,即將信源切換屬性置為預(yù)設(shè)開(kāi)始標(biāo)志值(mediaplayer.force.stop = I)。在顯示終端的信源切換完成時(shí),將信源屬性值置為預(yù)設(shè)結(jié)束標(biāo)志值(mediaplayer.force.stop = 0)。
[0070]步驟S23,在底層播放器開(kāi)始運(yùn)行時(shí),將播放器屬性值置為預(yù)設(shè)運(yùn)行標(biāo)志值;
[0071]步驟S24,在底層播放器占用的硬件資源釋放完成或釋放硬件資源的時(shí)間超出預(yù)設(shè)時(shí)長(zhǎng)時(shí),將播放器屬性值置為預(yù)設(shè)結(jié)束標(biāo)志值。
[0072]在顯示終端正常運(yùn)行時(shí),底層播放器在播放多媒體文件時(shí),將該底層播放器的播放器屬性值置為預(yù)設(shè)運(yùn)行標(biāo)志值。顯示終端的MediaPlayerService底層播放器服務(wù)進(jìn)程在收到切換信源的標(biāo)志(mediap layer, force, stop= I)以后,S卩在檢測(cè)到信源屬性置為預(yù)設(shè)開(kāi)始標(biāo)志值時(shí),強(qiáng)制停止播放器屬性值為預(yù)設(shè)運(yùn)行標(biāo)志值的底層播放器,并釋放底層播放器所占用的硬件資源,重置播放器屬性值,即將播放器屬性值置為預(yù)設(shè)結(jié)束標(biāo)志值(mediaplayer.used? = 0),表示底層播放器的硬件資源釋放完成。
[0073]在本實(shí)施例中,創(chuàng)建標(biāo)示信源切換動(dòng)作開(kāi)始或完成的信源屬性值,并在底層播放器創(chuàng)建時(shí)設(shè)置一個(gè)標(biāo)示底層播放器運(yùn)行或停止的播放器屬性值,播放器屬性值是為了告訴顯示終端底層播放器的使用情況,信源屬性值是為了告訴顯示終端準(zhǔn)備進(jìn)行信源切換了,利用這兩個(gè)屬性值實(shí)現(xiàn)信源切換和硬件資源釋放的同步,使顯示終端檢測(cè)到信源屬性值為預(yù)設(shè)開(kāi)始標(biāo)志值時(shí),盡快釋放對(duì)應(yīng)底層播放器的硬件資源,以使顯示終端切換信源后能夠正常顯示圖像和播放聲音,進(jìn)一步提高了信源切換和硬件資源釋放的同步效率。
[0074]進(jìn)一步地,在本發(fā)明顯示終端信源切換方法第三實(shí)施例的基礎(chǔ)上,提出顯示終端信源切換方法第四實(shí)施例,在第四實(shí)施例中,步驟S30包括:
[0075]步驟S31,監(jiān)測(cè)信源屬性值是否被置為預(yù)設(shè)開(kāi)始標(biāo)志值;
[0076]步驟S32,在信源屬性值被置為預(yù)設(shè)開(kāi)始標(biāo)志值時(shí),強(qiáng)制停止播放器屬性值被置為預(yù)設(shè)運(yùn)行標(biāo)志值的底層播放器,并釋放底層播放器占用的硬件資源;及
[0077]步驟S33,在信源屬性值被置為預(yù)設(shè)結(jié)束標(biāo)志值時(shí),切換顯示終端的信源至與所述信源切換指令對(duì)應(yīng)的目標(biāo)信源。
[0078]顯示終端在接收到信源切換指令后,將信源屬性值置為預(yù)設(shè)開(kāi)始標(biāo)值,當(dāng)檢測(cè)到當(dāng)前信源對(duì)應(yīng)底層播放器的播放器屬性為停止結(jié)束標(biāo)志值(mediaplayer.used? = O)時(shí),表明此時(shí)底層播放器已經(jīng)釋放了所占用的硬件資源,可以進(jìn)行后續(xù)的信源切換;或者當(dāng)自監(jiān)測(cè)到信源切換指令累計(jì)達(dá)預(yù)設(shè)時(shí)長(zhǎng)(例如10S,timeOut(10S))時(shí),表明此時(shí)推定底層播放器已經(jīng)釋放了所占用的硬件資源,將信源屬性值置為預(yù)設(shè)結(jié)束標(biāo)志值(mediaplayer.force.Stop = O),表示切換信源的動(dòng)作完成,然后關(guān)閉當(dāng)前信源,打開(kāi)信源切換指令對(duì)應(yīng)的目標(biāo)信源。這樣,通過(guò)對(duì)當(dāng)前信源對(duì)應(yīng)底層播放器的播放器屬性變化的檢測(cè)或者對(duì)監(jiān)測(cè)到信源切換指令的累計(jì)時(shí)長(zhǎng)進(jìn)行統(tǒng)計(jì),在確保當(dāng)前信源對(duì)應(yīng)底層播放器已經(jīng)釋放了其所占用的硬件資源之后,才將信源屬性值置為預(yù)設(shè)結(jié)束標(biāo)志值,以關(guān)閉當(dāng)前信源,打開(kāi)信源切換指令對(duì)應(yīng)的目標(biāo)信源,提供了一種避免出現(xiàn)硬件資源未釋放而進(jìn)行信源切換的機(jī)制,杜絕顯示終端進(jìn)行信源切換而出現(xiàn)黑屏無(wú)聲現(xiàn)象。
[0079]在顯示終端檢測(cè)到硬件資源釋放完畢時(shí),關(guān)閉當(dāng)前信源。由于當(dāng)前信源的關(guān)閉到目標(biāo)信源切換完畢需要短暫時(shí)間,在當(dāng)前信源關(guān)閉之后,顯示終端沒(méi)有信號(hào)輸入,可能會(huì)出現(xiàn)較為短暫的黑屏無(wú)聲情景,這無(wú)疑會(huì)影響到用戶(hù)的體驗(yàn),例如用戶(hù)可能會(huì)誤以為顯示終端出故障了,此時(shí)若顯示預(yù)設(shè)等待畫(huà)面,例如預(yù)設(shè)等待畫(huà)面上提示正在進(jìn)行信源切換,避免用戶(hù)進(jìn)行不必要的擔(dān)憂(yōu),或者預(yù)設(shè)等待畫(huà)面為預(yù)存的推廣廣告畫(huà)面,開(kāi)發(fā)了顯示終端的廣告價(jià)值。在顯示預(yù)設(shè)等待畫(huà)面的同時(shí),將顯示終端信源切換至信源切換指令對(duì)應(yīng)的目標(biāo)信源。
[0080]為了輔助理解本發(fā)明顯示終端信源切換方法,參照?qǐng)D4,在此引用顯示終端android(安卓)系統(tǒng)的關(guān)于mediaplayer播放流程的一個(gè)框架圖,本發(fā)明主要的修改就是涉及到mediap layer 框架的NATIVE 層,libmediaplayerservice.so ,libstagefright.so等,這里對(duì)于監(jiān)測(cè)信源切換指令的監(jiān)聽(tīng)線(xiàn)程優(yōu)選放在mediaserver進(jìn)程里面,主要是考慮Android的很多服務(wù)都是一對(duì)多個(gè)客戶(hù)端,這樣能夠保證狀態(tài)的一致性,如果選擇在客戶(hù)端來(lái)啟動(dòng)監(jiān)聽(tīng)線(xiàn)程也可以,但是當(dāng)同時(shí)啟動(dòng)多個(gè)視頻應(yīng)用的客戶(hù)端的時(shí)候,就會(huì)導(dǎo)致?tīng)顟B(tài)不一致的問(wèn)題發(fā)生。
[0081]以下以?xún)煞N智能電視應(yīng)用場(chǎng)景為例,輔助解釋本發(fā)明顯示終端信源切換方法,具體內(nèi)容如下:
[0082]應(yīng)用場(chǎng)景一,播放視頻界面切換TV信源,具體的步驟如下:
[0083]STEP 1:智能電視開(kāi)機(jī)啟動(dòng)Android系統(tǒng)后,啟動(dòng)MediaServer進(jìn)程,然后會(huì)在原生的medeiaplayerservice服務(wù)里面添加一個(gè)監(jiān)聽(tīng)線(xiàn)程;
[0084]STEP 2:用戶(hù)選擇視頻應(yīng)用,顯示終端開(kāi)始播放視頻,顯示終端調(diào)用相應(yīng)的底層播放器開(kāi)始播放視頻,并創(chuàng)建一個(gè)property屬性(mediaplayer.used= I,即播放器屬性值為預(yù)設(shè)運(yùn)行標(biāo)志值);
[0085]STEP 3:在顯示終端播放視頻的過(guò)程中,用戶(hù)使用遙控器的信源按鍵輸出信源切換指令,以將顯示終端的信源切換到TV信源;
[0086]STEP4:在切換過(guò)程中,中間件進(jìn)程會(huì)創(chuàng)建另一個(gè)property屬性(mediaplayer.force.stop = I,即信源屬性值為預(yù)設(shè)開(kāi)始標(biāo)志值);
[0087]STEP5: MediaPlayerServi ce監(jiān)聽(tīng)mediap layer.force.stop 的屬性,在收到切換信源的標(biāo)志(即若mediaplayer.force.stop= I)時(shí),強(qiáng)制停止播放視頻的對(duì)應(yīng)底層播放器,并開(kāi)始釋放相應(yīng)底層播放器硬件資源,并在硬件資源釋放完成之后重置標(biāo)志(mediaplayer.used? = 0,即播放器屬性值為預(yù)設(shè)結(jié)束標(biāo)志值),表示底層播放器的硬件資源釋放完成;
[0088]STEP 6:中間件進(jìn)程在關(guān)閉當(dāng)前信源時(shí),會(huì)查詢(xún)mediaplayer.used是否為0,如果為O,那說(shuō)明播放器資源已經(jīng)釋放結(jié)束,接著就會(huì)置mediaplayer.force.stop = 0,即信源屬性值為預(yù)設(shè)結(jié)束標(biāo)志值,表示切換信源的動(dòng)作完成;
[0089]此處,也可以統(tǒng)計(jì)屬性mediaplayer.force.stop = I所持續(xù)的時(shí)長(zhǎng),若該持續(xù)的時(shí)長(zhǎng)大于預(yù)設(shè)時(shí)長(zhǎng)時(shí),說(shuō)明推定播放器資源已經(jīng)釋放結(jié)束,置mediaplayer.force.stop = 0,表示切換信源的動(dòng)作完成。
[0090]STEP 7:當(dāng)關(guān)閉當(dāng)前信源后,就會(huì)打開(kāi)到指定的TV信源。
[0091]上述的過(guò)程中三個(gè)進(jìn)程間的property同步尤為重要,主要是通過(guò)設(shè)定兩個(gè)property屬性來(lái)進(jìn)行同步,在播放視頻的時(shí)候設(shè)定第一個(gè)property (mediaplayer.used?)是為了告訴系統(tǒng)我們正在使用播放器,而在切TV信源時(shí)設(shè)定第二個(gè)property(mediaplayer.force, stop)是為了告訴系統(tǒng),我們要開(kāi)始切信源,這樣監(jiān)聽(tīng)到后可以盡快的釋放播放器所占用的硬件資源,將釋放后的硬件資源給TV信源使用,這樣就可以正常顯示圖像和聲音了。
[0092]應(yīng)用場(chǎng)景二,非播放視頻界面切換TV信源的流程,具體的步驟如下:
[0093]STEPl:智能電視開(kāi)機(jī)啟動(dòng)Android系統(tǒng)后,啟動(dòng)MediaServer進(jìn)程,然后會(huì)在原生的medeiaplayerservice服務(wù)里面添加一個(gè)監(jiān)聽(tīng)線(xiàn)程;
[0094]STEP 2:用戶(hù)在TV信源下或是在其他非視頻類(lèi)應(yīng)用的界面,使用遙控器的信源按鍵切換顯示終端到其他的TV信源;
[0095]STEP3:在顯示終端信源切換過(guò)程中,中間件進(jìn)程會(huì)設(shè)置property的標(biāo)志(mediaplayer.force.stop = I);
[0096]STEP 4:mediaservice進(jìn)程判斷mediaplayer.force.stop是否為I,如果為I,那就強(qiáng)制停止當(dāng)前所有的底層播放器,并釋放底層播放器相關(guān)的硬件資源,但是這種情況下,是沒(méi)有任何的播放器在播放的,所以就沒(méi)有釋放資源的動(dòng)作,而且由于沒(méi)有創(chuàng)建播放器,所以這個(gè)時(shí)候 mediaplayer.Used = O;
[0097]STEP 5:中間件進(jìn)程在關(guān)閉當(dāng)前信源時(shí),這時(shí)會(huì)查詢(xún)到mediap layer.used為O,說(shuō)明底層播放器的硬件資源已經(jīng)釋放結(jié)束,接著就會(huì)置P r O P e r t y屬性mediaplayer.force.Stop = O,
[0098]STEP 6:當(dāng)關(guān)閉當(dāng)前信源后,就會(huì)打開(kāi)到指定的TV信源。
[0099]本發(fā)明顯示終端信源切換方法的方案只是在通用的播放視頻的流程多了一個(gè)監(jiān)聽(tīng)線(xiàn)程和兩個(gè)P r ο P e r t y標(biāo)志位,流程上和一般的智能電視播放視頻一樣,通過(guò)在mediaplayer框架層的修改,可以在不需要修改應(yīng)用的情況下就可以解決顯示終端切換信源出現(xiàn)黑屏無(wú)聲的問(wèn)題,同時(shí)也很好兼容智能電視的視頻應(yīng)用。此外,本發(fā)明顯示終端信源切換方法也是提供了一種概念,不僅在智能電視可以使用,其他領(lǐng)域(例如智能手機(jī))相類(lèi)似設(shè)備的也可以使用到這種方法來(lái)做相關(guān)的擴(kuò)展。
[0100]本發(fā)明還提供一種顯示終端信源切換裝置,該顯示終端信源切換裝置可以設(shè)置在顯示終端中,參照?qǐng)D5,在本發(fā)明顯示終端信源切換裝置第一實(shí)施例中,該顯示終端信源切換裝置包括:
[0101]指令監(jiān)測(cè)模塊10,用于監(jiān)測(cè)是否收到用戶(hù)輸入的信源切換指令;
[0102]當(dāng)用戶(hù)需要切換智能電視的信源時(shí),用戶(hù)可以操作遙控器或語(yǔ)音小助手向智能電視發(fā)送信源切換指令,以將智能電視從當(dāng)前信源切換至目標(biāo)信源,或者從無(wú)信源狀態(tài)切換至目標(biāo)信源。智能電視的信源主要包括多媒體信源和電視信源,信源切換場(chǎng)景主要有兩種場(chǎng)景,場(chǎng)景一:從多媒體信源切換至電視信源,例如智能電視從使用視頻應(yīng)用(例如愛(ài)奇藝或騰訊視頻)播放在線(xiàn)視頻切換至電視信源、從播放微信或多屏互動(dòng)推送的在線(xiàn)視頻切換至DTV電視信源、從使用媒體中心應(yīng)用播放U盤(pán)中的視頻切換至HDMI電視信源;場(chǎng)景二,從電視信源切換至多媒體信源,例如智能電視在播放DTV,此時(shí)用戶(hù)使用微信向智能電視推送在線(xiàn)視頻。用戶(hù)在以上兩種場(chǎng)景下,只需操作控制遙控器向智能電視發(fā)送信源切換指令,以達(dá)到信源切換的效果,指令監(jiān)測(cè)模塊10實(shí)時(shí)監(jiān)測(cè)用戶(hù)輸入的信源切換指令。
[0103]資源釋放模塊20,用于當(dāng)監(jiān)測(cè)到信源切換指令時(shí),強(qiáng)制停止處于運(yùn)行狀態(tài)的底層播放器,并釋放底層播放器占用的硬件資源;
[0104]當(dāng)顯示終端監(jiān)測(cè)到用戶(hù)發(fā)送的信源切換指令時(shí),資源釋放模塊20檢測(cè)顯示終端的底層播放器是否處于運(yùn)行狀態(tài),當(dāng)?shù)讓硬シ牌魈幱谕V範(fàn)顟B(tài)時(shí),表明當(dāng)前顯示終端中支撐播放視頻的硬件資源沒(méi)有被占用,顯示終端無(wú)論處于多媒體信源還是電視信源都能及時(shí)獲取到所需硬件資源,不會(huì)出現(xiàn)黑屏無(wú)聲現(xiàn)象;當(dāng)?shù)讓硬シ牌魈幱谶\(yùn)行狀態(tài),表明此時(shí)顯示終端中的硬件資源被底層播放器占用,即當(dāng)前顯示終端開(kāi)啟了信源,若此時(shí)基于信源切換指令將當(dāng)前信源切換至目標(biāo)信源,則當(dāng)前信源無(wú)法及時(shí)釋放硬件資源,而目標(biāo)信源又無(wú)法申請(qǐng)到硬件資源,導(dǎo)致顯示終端無(wú)法顯示圖像而出現(xiàn)黑屏無(wú)聲問(wèn)題。所以,在監(jiān)測(cè)到信源切換指令且同時(shí)檢測(cè)到底層播放器處于運(yùn)行狀態(tài)時(shí),資源釋放模塊20強(qiáng)制停止該處于運(yùn)行狀態(tài)的底層播放器,并將該底層播放器所占用的硬件資源釋放出來(lái)。
[0105]信源切換模塊30,用于當(dāng)硬件資源釋放完成或釋放硬件資源的時(shí)間超過(guò)預(yù)設(shè)時(shí)長(zhǎng)時(shí),切換顯示終端的信源至信源切換指令對(duì)應(yīng)的目標(biāo)信源。
[0106]在釋放底層播放器占用的硬件資源之后或釋放硬件資源的時(shí)長(zhǎng)超出預(yù)設(shè)時(shí)長(zhǎng)時(shí),信源切換模塊30關(guān)閉顯示終端的當(dāng)前信源,并將顯示終端信源切換至信源切換指令對(duì)應(yīng)的目標(biāo)信源。例如,當(dāng)前信源為多媒體信源,目標(biāo)信源為電視信源,顯示終端在接收到信源切換指令時(shí),關(guān)閉多媒體信源對(duì)應(yīng)底層播放器,并釋放該對(duì)應(yīng)底層播放器所占用的硬件資源,然后關(guān)閉多媒體信源,打開(kāi)電視信源,電視信源申請(qǐng)并獲得硬件資源以在對(duì)應(yīng)底層播放器上播放電視信源對(duì)應(yīng)的視頻節(jié)目。
[0107]在本實(shí)施例中,通過(guò)指令監(jiān)測(cè)模塊10監(jiān)測(cè)是否收到用戶(hù)輸入的信源切換指令,當(dāng)監(jiān)測(cè)到信源切換指令時(shí),資源釋放模塊20強(qiáng)制停止處于運(yùn)行狀態(tài)的底層播放器,并釋放底層播放器占用的硬件資源,然后在硬件資源釋放完成或釋放硬件資源的時(shí)間超出預(yù)設(shè)時(shí)長(zhǎng)時(shí),信源切換模塊30切換顯示終端的信源至與信源切換指令對(duì)應(yīng)的目標(biāo)信源,從而在監(jiān)測(cè)到信源切換指令時(shí),及時(shí)關(guān)閉當(dāng)前處于運(yùn)行狀態(tài)的底層播放器,及時(shí)釋放該底層播放器所占用的硬件資源,從而顯示終端切換至目標(biāo)信源后能夠順利申請(qǐng)到硬件資源,及時(shí)播放出目標(biāo)信源提供的影音數(shù)據(jù),避免出現(xiàn)智能電視切換信源申請(qǐng)不到硬件資源的情形,進(jìn)而解決了顯示終端切換信源播放模式容易出現(xiàn)黑屏無(wú)聲的技術(shù)問(wèn)題。
[0108]此外,本發(fā)明實(shí)現(xiàn)簡(jiǎn)單、通用性高,實(shí)現(xiàn)了用戶(hù)在看智能電視的同時(shí)隨意推送在線(xiàn)視頻,或從播放視頻的過(guò)程中隨意切換到TV等多種場(chǎng)景,從而極大的提升了智能電視(即顯示終端)的用戶(hù)體驗(yàn)。同時(shí),本發(fā)明的改進(jìn)是對(duì)顯示終端系統(tǒng)框架層(例如多媒體服務(wù)進(jìn)程)進(jìn)行改進(jìn),在不需要修改顯示終端內(nèi)視頻應(yīng)用的前提下,保證顯示終端中多個(gè)視頻應(yīng)用同時(shí)兼容本發(fā)明的方案,具有較強(qiáng)的通用性。
[0109]進(jìn)一步地,在本發(fā)明顯示終端信源切換裝置第一實(shí)施例的基礎(chǔ)上,提出顯示終端信源切換裝置第二實(shí)施例,在第二實(shí)施例中,指令監(jiān)測(cè)模塊10還用于:
[0110]在顯示終端進(jìn)入安卓系統(tǒng)后,且開(kāi)啟多媒體服務(wù)進(jìn)程時(shí),監(jiān)測(cè)該顯示終端是否收到用戶(hù)輸入的信源切換指令。
[0111]一般而言,顯示終端播放不同信源對(duì)應(yīng)數(shù)據(jù)(例如不同的片源或視頻APP)會(huì)使用不同的播放器,而切換信源這個(gè)操作一般是用戶(hù)主動(dòng)發(fā)起的,所以在顯示終端進(jìn)入安卓系統(tǒng)后,若顯示終端開(kāi)啟多媒體服務(wù)進(jìn)程,開(kāi)始播放多媒體數(shù)據(jù)或電視節(jié)目時(shí),此時(shí)指令監(jiān)測(cè)模塊10創(chuàng)建一個(gè)線(xiàn)程來(lái)實(shí)時(shí)監(jiān)測(cè)顯示終端是否收到用戶(hù)輸入的信源切換指令,從而有針對(duì)性地在顯示終端開(kāi)啟多媒體服務(wù)進(jìn)程后,才實(shí)時(shí)監(jiān)測(cè)是否收到用戶(hù)輸入的信源切換指令,避免在顯示終端處于桌面界面等非多媒體服務(wù)進(jìn)程中時(shí),也進(jìn)行信源切換指令的監(jiān)測(cè),提高了顯示終端系統(tǒng)運(yùn)行效率。
[0112]進(jìn)一步地,在本發(fā)明顯示終端信源切換裝置第一實(shí)施例的基礎(chǔ)上,提出顯示終端信源切換裝置第三實(shí)施例,參照?qǐng)D6,在第三實(shí)施例中,顯示終端信源切換還包括:
[0113]屬性創(chuàng)建模塊40,用分別創(chuàng)建表示信源切換動(dòng)作開(kāi)始和完成的信源屬性值,表示底層播放器運(yùn)行和停止的播放器屬性值。
[0114]本發(fā)明的核心設(shè)計(jì)思想就是通過(guò)Android Property屬性來(lái)同步四個(gè)進(jìn)程間的通訊,四個(gè)進(jìn)程分別是:播放視頻進(jìn)程,mediaserver底層播放器服務(wù)進(jìn)程,切換信源的中間件進(jìn)程,TV apk進(jìn)程。
[0115]首先,指令監(jiān)測(cè)模塊10在MediaPlayerService里面創(chuàng)建一個(gè)線(xiàn)程來(lái)監(jiān)聽(tīng)是否有切換信源的動(dòng)作(即信源切換屬性的標(biāo)志位),并且屬性創(chuàng)建模塊40在各個(gè)類(lèi)型的底層播放器創(chuàng)建時(shí)會(huì)置一個(gè)標(biāo)示是否正在使用的播放器屬性值,其中,播放器屬性值設(shè)為mediaplayer.used?,當(dāng)?shù)讓硬シ牌鳛檫\(yùn)行時(shí),mediaplayer.used? = I,當(dāng)?shù)讓硬シ牌鳛橥V箷r(shí),mediaplayer.used? = 0;將信源屬性值設(shè)為mediaplayer.force.stop,當(dāng)信源切換動(dòng)作為開(kāi)始時(shí),mediaplayer.force.Stop = I,當(dāng)信源切換動(dòng)作為完成時(shí),mediaplayer.force.Stop = O,便于顯示終端系統(tǒng)基于信源屬性值識(shí)別信源切換動(dòng)作,基于播放器屬性值識(shí)別底層播放器運(yùn)行狀態(tài)。
[0116]優(yōu)選地,顯示終端信源切換裝置還包括屬性設(shè)置模塊50,屬性設(shè)置模塊50包括:
[0117]第一設(shè)置單元51,用于在監(jiān)測(cè)到所述信源切換指令時(shí),將所述信源屬性值置為預(yù)設(shè)開(kāi)始標(biāo)志值;
[0118]第二設(shè)置單元52,用于在信源切換完成時(shí),將所述信源屬性值置為預(yù)設(shè)結(jié)束標(biāo)志值;
[0119]第三設(shè)置單元53,用于在底層播放器開(kāi)始運(yùn)行時(shí),將所述播放器屬性值置為預(yù)設(shè)運(yùn)行標(biāo)志值;
[0120]第四設(shè)置單元54,用于在底層播放器占用的硬件資源釋放完成或釋放硬件資源的時(shí)間超出預(yù)設(shè)時(shí)長(zhǎng)時(shí),將所述播放器屬性值置為預(yù)設(shè)結(jié)束標(biāo)志值。
[0121]在用戶(hù)選擇信源菜單開(kāi)始切信源的時(shí)候,即監(jiān)測(cè)到信源切換指令時(shí),第一設(shè)置單元5 I會(huì)設(shè)置切換信源的標(biāo)志位,即將信源切換屬性置為預(yù)設(shè)開(kāi)始標(biāo)志值(mediaplayer.force.stop = I)。在顯示終端的信源切換完成時(shí),第二設(shè)置單元52將信源屬性值置為預(yù)設(shè)結(jié)束標(biāo)志值(mediap layer.force.Stop = O)。
[0122]在顯示終端正常運(yùn)行時(shí),底層播放器在播放多媒體文件時(shí),第三設(shè)置單元53將該底層播放器的播放器屬性值置為預(yù)設(shè)運(yùn)行標(biāo)志值。顯示終端的MediaPlayerService底層播放器服務(wù)進(jìn)程在收到切換信源的標(biāo)志(mediaplayer.force.stop = I)以后,即在檢測(cè)到信源屬性置為預(yù)設(shè)開(kāi)始標(biāo)志值時(shí),強(qiáng)制停止播放器屬性值為預(yù)設(shè)運(yùn)行標(biāo)志值的底層播放器,并釋放底層播放器所占用的硬件資源,重置播放器屬性值,即第四設(shè)置單元54將播放器屬性值置為預(yù)設(shè)結(jié)束標(biāo)志值(mediaplayer.used? = 0),表示底層播放器的硬件資源釋放完成。
[0123]在本實(shí)施例中,創(chuàng)建標(biāo)示信源切換動(dòng)作開(kāi)始或完成的信源屬性值,并在底層播放器創(chuàng)建時(shí)設(shè)置一個(gè)標(biāo)示底層播放器運(yùn)行或停止的播放器屬性值,播放器屬性值是為了告訴顯示終端底層播放器的使用情況,信源屬性值是為了告訴顯示終端準(zhǔn)備進(jìn)行信源切換了,利用這兩個(gè)屬性值實(shí)現(xiàn)信源切換和硬件資源釋放的同步,使顯示終端檢測(cè)到信源屬性值為預(yù)設(shè)開(kāi)始標(biāo)志值時(shí),盡快釋放對(duì)應(yīng)底層播放器的硬件資源,以使顯示終端切換信源后能夠正常顯示圖像和播放聲音,進(jìn)一步提高了信源切換和硬件資源釋放的同步效率。
[0124]進(jìn)一步地,在本發(fā)明顯示終端信源切換裝置第三實(shí)施例的基礎(chǔ)上,提出顯示終端信源切換裝置第四實(shí)施例,在第四實(shí)施例中,資源釋放模塊20包括:
[0125]監(jiān)測(cè)單元21,用于監(jiān)測(cè)信源屬性值是否被置為預(yù)設(shè)開(kāi)始標(biāo)志值;
[0126]釋放單元22,用于在信源屬性值被置為預(yù)設(shè)開(kāi)始標(biāo)志值時(shí),強(qiáng)制停止播放器屬性值被置為預(yù)設(shè)運(yùn)行標(biāo)志值的底層播放器,并釋放底層播放器占用的硬件資源;
[0127]信源切換模塊30,用于在信源屬性值被置為預(yù)設(shè)結(jié)束標(biāo)志值時(shí),切換顯示終端的信源至與信源切換指令對(duì)應(yīng)的目標(biāo)信源。
[0128]顯示終端在接收到信源切換指令后,將信源屬性值置為預(yù)設(shè)開(kāi)始標(biāo)值,當(dāng)檢測(cè)到當(dāng)前信源對(duì)應(yīng)底層播放器的播放器屬性為停止結(jié)束標(biāo)志值(mediaplayer.used? = O)時(shí),表明此時(shí)底層播放器已經(jīng)釋放了所占用的硬件資源,可以進(jìn)行后續(xù)的信源切換;或者當(dāng)自監(jiān)測(cè)到信源切換指令累計(jì)達(dá)預(yù)設(shè)時(shí)長(zhǎng)(例如10S,timeOut(10S))時(shí),表明此時(shí)推定底層播放器已經(jīng)釋放了所占用的硬件資源,將信源屬性值置為預(yù)設(shè)結(jié)束標(biāo)志值(mediaplayer.force.Stop = O),表示切換信源的動(dòng)作完成,信源切換模塊30關(guān)閉當(dāng)前信源,打開(kāi)信源切換指令對(duì)應(yīng)的目標(biāo)信源。這樣,通過(guò)監(jiān)測(cè)單元21對(duì)當(dāng)前信源對(duì)應(yīng)底層播放器的播放器屬性變化的檢測(cè)或者對(duì)監(jiān)測(cè)到信源切換指令的累計(jì)時(shí)長(zhǎng)進(jìn)行統(tǒng)計(jì),在確保當(dāng)前信源對(duì)應(yīng)底層播放器已經(jīng)釋放了其所占用的硬件資源之后,釋放單元22才將信源屬性值置為預(yù)設(shè)結(jié)束標(biāo)志值,以關(guān)閉當(dāng)前信源,打開(kāi)信源切換指令對(duì)應(yīng)的目標(biāo)信源,提供了一種避免出現(xiàn)硬件資源未釋放而進(jìn)行信源切換的機(jī)制,杜絕顯示終端進(jìn)行信源切換而出現(xiàn)黑屏無(wú)聲現(xiàn)象。
[0129]在顯示終端檢測(cè)到硬件資源釋放完畢時(shí),關(guān)閉當(dāng)前信源。由于當(dāng)前信源的關(guān)閉到目標(biāo)信源切換完畢需要短暫時(shí)間,在當(dāng)前信源關(guān)閉之后,顯示終端沒(méi)有信號(hào)輸入,可能會(huì)出現(xiàn)較為短暫的黑屏無(wú)聲情景,這無(wú)疑會(huì)影響到用戶(hù)的體驗(yàn),例如用戶(hù)可能會(huì)誤以為顯示終端出故障了,此時(shí)若顯示預(yù)設(shè)等待畫(huà)面,例如預(yù)設(shè)等待畫(huà)面上提示正在進(jìn)行信源切換,避免用戶(hù)進(jìn)行不必要的擔(dān)憂(yōu),或者預(yù)設(shè)等待畫(huà)面為預(yù)存的推廣廣告畫(huà)面,開(kāi)發(fā)了顯示終端的廣告價(jià)值。在顯示預(yù)設(shè)等待畫(huà)面的同時(shí),將顯示終端信源切換至信源切換指令對(duì)應(yīng)的目標(biāo)信源。
[0130]通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實(shí)施例方法可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)(如R0M/RAM、磁碟、光盤(pán))中,包括若干指令用以使得一臺(tái)終端設(shè)備(可以是手機(jī),計(jì)算機(jī),月艮務(wù)器,空調(diào)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例的方法。
[0131]以上僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專(zhuān)利范圍,凡是利用本發(fā)明說(shuō)明書(shū)及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專(zhuān)利保護(hù)范圍內(nèi)。
【主權(quán)項(xiàng)】
1.一種顯示終端信源切換方法,其特征在于,該顯示終端信源切換方法包括: 監(jiān)測(cè)是否收到用戶(hù)輸入的信源切換指令; 當(dāng)監(jiān)測(cè)到所述信源切換指令時(shí),強(qiáng)制停止處于運(yùn)行狀態(tài)的底層播放器,并釋放所述底層播放器占用的硬件資源;及 當(dāng)所述硬件資源釋放完成或釋放硬件資源的時(shí)間超出預(yù)設(shè)時(shí)長(zhǎng)時(shí),切換所述顯示終端的信源至與所述信源切換指令對(duì)應(yīng)的目標(biāo)信源。2.如權(quán)利要求1所述的顯示終端信源切換方法,其特征在于,該方法還包括: 在所述顯示終端進(jìn)入安卓系統(tǒng),且開(kāi)啟多媒體服務(wù)進(jìn)程時(shí),監(jiān)測(cè)該顯示終端是否收到用戶(hù)輸入的信源切換指令。3.如權(quán)利要求1或2所述的顯示終端信源切換方法,其特征在于,該方法還包括: 分別創(chuàng)建表示信源切換動(dòng)作開(kāi)始和完成的信源屬性值,表示底層播放器運(yùn)行和停止的播放器屬性值。4.如權(quán)利要求3所述的顯示終端信源切換方法,其特征在于,該方法還包括: 在監(jiān)測(cè)到所述信源切換指令時(shí),將所述信源屬性值置為預(yù)設(shè)開(kāi)始標(biāo)志值; 在信源切換完成時(shí),將所述信源屬性值置為預(yù)設(shè)結(jié)束標(biāo)志值; 在底層播放器開(kāi)始運(yùn)行時(shí),將所述播放器屬性值置為預(yù)設(shè)運(yùn)行標(biāo)志值; 在底層播放器占用的硬件資源釋放完成或釋放硬件資源的時(shí)間超出預(yù)設(shè)時(shí)長(zhǎng)時(shí),將所述播放器屬性值置為預(yù)設(shè)結(jié)束標(biāo)志值。5.如權(quán)利要求4所述的顯示終端信源切換方法,其特征在于,該方法包括: 監(jiān)測(cè)所述信源屬性值是否被置為預(yù)設(shè)開(kāi)始標(biāo)志值; 在所述信源屬性值被置為預(yù)設(shè)開(kāi)始標(biāo)志值時(shí),強(qiáng)制停止播放器屬性值被置為預(yù)設(shè)運(yùn)行標(biāo)志值的底層播放器,并釋放所述底層播放器占用的硬件資源;及 在所述信源屬性值被置為預(yù)設(shè)結(jié)束標(biāo)志值時(shí),切換所述顯示終端的信源至與所述信源切換指令對(duì)應(yīng)的目標(biāo)信源。6.一種顯示終端信源切換裝置,其特征在于,該顯示終端信源切換裝置包括: 指令監(jiān)測(cè)模塊,用于監(jiān)測(cè)是否收到用戶(hù)輸入的信源切換指令; 資源釋放模塊,用于當(dāng)監(jiān)測(cè)到所述信源切換指令時(shí),強(qiáng)制停止處于運(yùn)行狀態(tài)的底層播放器,并釋放所述底層播放器占用的硬件資源; 信源切換模塊,用于當(dāng)所述硬件資源釋放完成或釋放硬件資源的時(shí)間超過(guò)預(yù)設(shè)時(shí)長(zhǎng)時(shí),切換所述顯示終端的信源至所述信源切換指令對(duì)應(yīng)的目標(biāo)信源。7.如權(quán)利要求6所述的顯示終端信源切換裝置,其特征在于,所述指令監(jiān)測(cè)模塊還用于: 在所述顯示終端進(jìn)入安卓系統(tǒng),且開(kāi)啟多媒體服務(wù)進(jìn)程時(shí),監(jiān)測(cè)該顯示終端是否收到用戶(hù)輸入的信源切換指令。8.如權(quán)利要求6或7所述的顯示終端信源切換裝置,其特征在于,所述顯示終端信源切換裝置還包括: 屬性創(chuàng)建模塊,用于分別創(chuàng)建表示信源切換動(dòng)作開(kāi)始和完成信源屬性值,表示底層播放器運(yùn)行和停止的播放器屬性值。9.如權(quán)利要求8所述的顯示終端信源切換裝置,其特征在于,所述顯示終端信源切換裝置還包括屬性設(shè)置模塊,所述屬性設(shè)置模塊包括: 第一設(shè)置單元,用于在監(jiān)測(cè)到所述信源切換指令時(shí),將所述信源屬性值置為預(yù)設(shè)開(kāi)始標(biāo)志值; 第二設(shè)置單元,用于在信源切換完成時(shí),將所述信源屬性值置為預(yù)設(shè)結(jié)束標(biāo)志值;第三設(shè)置單元,用于在底層播放器開(kāi)始運(yùn)行時(shí),將所述播放器屬性值置為預(yù)設(shè)運(yùn)行標(biāo)志值; 第四設(shè)置單元,用于在底層播放器占用的硬件資源釋放完成或釋放硬件資源的時(shí)間超出預(yù)設(shè)時(shí)長(zhǎng)時(shí),將所述播放器屬性值置為預(yù)設(shè)結(jié)束標(biāo)志值。10.如權(quán)利要求9所述的顯示終端信源切換裝置,其特征在于, 所述資源釋放模塊包括: 監(jiān)測(cè)單元,用于監(jiān)測(cè)所述信源屬性值是否被置為預(yù)設(shè)開(kāi)始標(biāo)志值; 釋放單元,用于在所述信源屬性值被置為預(yù)設(shè)開(kāi)始標(biāo)志值時(shí),強(qiáng)制停止播放器屬性值被置為預(yù)設(shè)運(yùn)行標(biāo)志值的底層播放器,并釋放所述底層播放器占用的硬件資源; 所述信源切換模塊,用于在所述信源屬性值被置為預(yù)設(shè)結(jié)束標(biāo)志值時(shí),切換所述顯示終端的信源至與所述信源切換指令對(duì)應(yīng)的目標(biāo)信源。
【文檔編號(hào)】H04N21/442GK105872768SQ201610248579
【公開(kāi)日】2016年8月17日
【申請(qǐng)日】2016年4月20日
【發(fā)明人】嚴(yán)力
【申請(qǐng)人】深圳Tcl數(shù)字技術(shù)有限公司