專利名稱:一種透明用戶界面視頻播放器的實(shí)現(xiàn)方法及其播放器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻播放領(lǐng)域,尤指一種能在性能較低的平臺上實(shí)現(xiàn)視頻播放時透明用戶界面的視頻播放方法及其播放器。
背景技術(shù):
目前,智能終端的硬件配置相比較主流PC比較低,但隨著硬件技術(shù)的快速發(fā)展, 目前智能終端在功耗和性能上都有了長足的進(jìn)步。同時,顯示效果是用戶體驗(yàn)中最重要的內(nèi)容。因此,透明效果(包括全透明和半透明兩種效果)是智能終端中必備的一個功能。在視頻播放器軟件中,用戶界面(UI)是其重要的組成部分。在視頻播放器播放視頻時,可以將用戶界面(UI)的內(nèi)容分為兩部分一部分是顯示視頻內(nèi)容,簡稱為視頻內(nèi)容, 另外一部分是顯示操作按鈕(例如播放、暫停等按鈕)和接受用戶操作命令,簡稱為操作界面內(nèi)容。在以往的視頻播放器中,實(shí)現(xiàn)上述內(nèi)容時往往使用一個最外層的窗口包含若干個子窗口,每個子窗口分別顯示上述兩種內(nèi)容,通過對視頻內(nèi)容和操作界面內(nèi)容混合處理以后,統(tǒng)一進(jìn)行顯示輸出。當(dāng)前X86平臺下視頻播放器中,實(shí)現(xiàn)用戶界面(UI)透明效果的方法有多種,如使用3D渲染引擎Compiz和2D渲染引擎Cario等。但是它們對硬件平臺配置要求較高。例如需要配置更高性能的處理器和顯示適配器,或者使用專門的數(shù)字信號處理 (DSP)硬件編解碼模塊進(jìn)行顯示的透明處理。同時使用如Compiz渲染引擎實(shí)現(xiàn)透明效果時會對視頻播放效果有較大的影響,在對透明的元素進(jìn)行操作時會發(fā)生視屏播放停頓等現(xiàn)象。另外,在實(shí)現(xiàn)透明用戶界面(UI)時,還需給用戶界面(UI)開發(fā)者提供良好的接口,保證在實(shí)現(xiàn)半透明特效的同時不增加開發(fā)的難度和維護(hù)的復(fù)雜度。因此,需要尋找一種能在性能較低的平臺上實(shí)現(xiàn)視頻播放時透明用戶界面(UI) 的方法和途徑。性能較低的平臺是指硬件平臺無需配置專門的顯示處理數(shù)字信號處理 (DSP)芯片,也不需要顯卡支持視頻硬件解碼等功能;同時,對CPU主頻和內(nèi)存大小沒有特別的要求,例如在ATOM處理器平臺可以流暢的播放。
發(fā)明內(nèi)容
本發(fā)明提供了一種透明用戶界面視頻播放器的實(shí)現(xiàn)方法,該視頻播放器的視頻內(nèi)容和操作界面內(nèi)容分別由不同的模塊單獨(dú)處理,且完成之后分兩層直接獨(dú)立進(jìn)行顯示。本發(fā)明還提供了一種透明用戶界面視頻播放器,包含一個可視界面,該可視界面包含各自獨(dú)立進(jìn)行顯示的操作界面窗口和視頻內(nèi)容窗口 ;用戶界面支持模塊,讀取用戶界面的內(nèi)容進(jìn)行處理并顯示輸出至操作界面窗口 ;視頻播放核心模塊,讀取視頻內(nèi)容進(jìn)行處理并輸出至視頻內(nèi)容窗口顯示;控制模塊作為各模塊的控制中心的,以實(shí)現(xiàn)播放核心模塊和用戶界面模塊間的邏輯控制和雙向數(shù)據(jù)的傳輸,并控制視頻播放狀態(tài)和操作界面內(nèi)容顯示之間的同步。
圖1透明視頻播放器框架示意圖
具體實(shí)施例方式本發(fā)明為了解決上述問題提供了一種可行的方法在硬件平臺配置較低和不影響視頻播放器播放效果的同時,可靈活定制視頻播放器用戶界面(UI)的透明效果。不同于以往的播放器,本發(fā)明將視頻內(nèi)容和操作界面內(nèi)容分別由不同的模塊去處理,不再進(jìn)行混合運(yùn)算,而是在完成單獨(dú)處理之后進(jìn)行顯示,系統(tǒng)的靈活性和用戶的可配置性高。
視頻播放器的整體結(jié)構(gòu)圖如圖1所示,整個播放器1分為兩個部分用戶界面 (UI) 11部分和功能實(shí)現(xiàn)部分。用戶界面(UI)是用戶可見的部分,它將視頻內(nèi)容112和操作界面內(nèi)容111獨(dú)立進(jìn)行顯示;功能實(shí)現(xiàn)部分是用戶不可見的部分,它包括用戶界面(UI) 支持模塊12、播放核心模塊13和控制模塊14。用戶界面(UI)支持模塊12讀取用戶界面 (UI)Il的內(nèi)容進(jìn)行處理并顯示輸出。播放核心模塊13包括音視頻同步131、音視頻解碼 132和流媒體支持133等,它們對從流媒體服務(wù)器上讀取的視頻流(包含音頻)進(jìn)行處理并顯示輸出。在顯示的層次關(guān)系上,視頻內(nèi)容112在下層的窗口進(jìn)行顯示,操作界面內(nèi)容111 在上層的窗口中顯示,由于操作界面內(nèi)容111實(shí)現(xiàn)了全透明和半透明技術(shù),所以用戶體驗(yàn)時察覺不到這種層次的存在??刂颇K1 4是所有模塊的控制中心,它以模塊的形式由其他軟件(例如Firefox瀏覽器,Chrome瀏覽器等)加載運(yùn)行,也能以單獨(dú)的進(jìn)程形式運(yùn)行。 控制模塊14啟動以后開始依次加載播放核心模塊13和用戶界面(UI)支持模塊12。本發(fā)明的主要特點(diǎn)是用戶界面(UI)Il中的視頻內(nèi)容112和操作界面內(nèi)容111分兩層單獨(dú)處理之后進(jìn)行顯不操作界面內(nèi)容111使用標(biāo)準(zhǔn)的HTML進(jìn)行設(shè)計(jì),便于修改;操作界面內(nèi)容111支持透明、半透明圖片,異型圖片,同時支持gif動畫圖片等;操作界面內(nèi)容111支持JavaScript ;操作界面內(nèi)容111支持JavaScript和播放器后臺雙向通信;控制模塊14支持以瀏覽器插件的方式運(yùn)行,可結(jié)合用戶自定義界面(如flash) 在瀏覽器中實(shí)現(xiàn)功能豐富的多媒體中心,同時又可以在系統(tǒng)下獨(dú)立運(yùn)行;控制模塊14實(shí)現(xiàn)播放核心模塊13和用戶界面(UI)支持模塊12之間的邏輯控制和雙向數(shù)據(jù)的傳輸,控制視頻播放狀態(tài)和用戶界面(UI)顯示之間的同步;控制模塊14維護(hù)整個系統(tǒng)的穩(wěn)定性,處理異常事件,并能在任何異常情況下恢復(fù)系統(tǒng)的正常使用;控制模塊14配置視頻內(nèi)容的顯示內(nèi)容與布局,用戶通過選項(xiàng)即可調(diào)整顯示內(nèi)容的位置、分辨率和大小等操作界面內(nèi)容111的布局。其中,有關(guān)用戶界面(UI)顯示內(nèi)容的定義和實(shí)現(xiàn),本發(fā)明完全使用標(biāo)準(zhǔn)的HTML定義布局;支持全/半透明圖片、異型圖片、gif動畫圖片等;支持JavaScript。其中,有關(guān)視頻播放控制,本發(fā)明支持用戶界面(UI)中設(shè)計(jì)的JavaScript和播放器的雙向通信,可實(shí)現(xiàn)對播放器的狀態(tài)進(jìn)行監(jiān)控,并實(shí)時的反饋給操作界面內(nèi)容111。用戶界面(UI)的顯示設(shè)計(jì)方面由用戶根據(jù)需要設(shè)計(jì),可以使用HTML編輯工具進(jìn)行設(shè)計(jì),設(shè)計(jì)中可以使用HTML支持所有的元素,例如PNG圖片,JPEG圖片,GIT動畫等。同時,可以使用JavaScript進(jìn)行開發(fā)。用戶設(shè)計(jì)完成后,可以將該文件或者鏈接地址放到指定位置,供播放器去調(diào)用。制作好的用戶界面(UI)內(nèi)容需要通過用戶界面(UI)支持模塊12顯示出來,同時通過用戶界面(UI)支持模塊12與控制模塊14進(jìn)行通信,進(jìn)而和播放核心模塊13交互,具體方法包括(1)首先將視頻內(nèi)容112和操作界面內(nèi)容111分別由不同的組件來處理、顯示。兩個組件之間松耦合,最大限度的保持其獨(dú)立性和良好的擴(kuò)展性。(2)改變以往操作界面內(nèi)容111布局、效果固定化的設(shè)計(jì),改由通過用戶界面(UI) 支持模塊12使用標(biāo)準(zhǔn)HTML來描述半透明的用戶界面(UI),可以方便的進(jìn)行所見即所得的修改,大大簡化了開發(fā)的復(fù)雜度。用戶界面(UI)支持模塊12同時支持JavaScript,因此, 可以在操作界面內(nèi)容111的設(shè)計(jì)中使用JavaScript增強(qiáng)互動效果、動畫效果等。(3)用戶界面(UI)支持模塊12和播放核心模塊13之間通過實(shí)時信號的異步消息機(jī)制進(jìn)行通信。保證了兩部分之間進(jìn)行高效、可靠的通信。(4)用戶界面(UI)支持模塊12提供給操作界面內(nèi)容111可以調(diào)用的播放器控制接口。操作界面內(nèi)容111可以通過JavaScript調(diào)用這些接口,實(shí)現(xiàn)對播放器的控制,如播放,暫停,快進(jìn),快退和停止等。(5)用戶界面(UI)支持模塊12會將播放器的實(shí)時狀態(tài)反饋給操作界面內(nèi)容111, 如播放器異常事件,流媒體服務(wù)狀態(tài)異常事件,節(jié)目播放完畢事件等。(6)用戶界面(UI)支持模塊12可將播放器所需顯示的實(shí)時信息場景數(shù)據(jù)傳遞給操作界面內(nèi)容111進(jìn)行實(shí)時信息的顯示,如電子節(jié)目單(EPG)和當(dāng)前播放的進(jìn)度信息等。(7)用戶界面(UI)支持模塊12通過控制模塊14實(shí)現(xiàn)其它固定的用戶界面(UI) 需求,能有效的和用戶界面(UI)支持模塊12進(jìn)行互補(bǔ)。(8)控制模塊14監(jiān)控播放核心模塊13和用戶界面(UI)支持模塊12的所有狀態(tài), 能有效的維護(hù)整個程序運(yùn)行的可靠性和穩(wěn)定性。下面以暫停播放為例說明本發(fā)明的實(shí)現(xiàn)過程視頻開始播放后,用戶界面(UI)支持模塊12加載顯示操作界面內(nèi)容111。此時, 用戶可用鼠標(biāo)(指針)進(jìn)行操作,操作界面內(nèi)容111會按照設(shè)計(jì)的功能顯示操作對應(yīng)的場景。例如,操作界面內(nèi)容111的設(shè)計(jì)中進(jìn)行了播放控制的設(shè)計(jì),用戶點(diǎn)擊某圖片時調(diào)用操作界面內(nèi)容111的暫停函數(shù)。那么當(dāng)點(diǎn)擊該圖片時,操作界面內(nèi)容111的JavaScript會調(diào)用用戶界面(UI)支持模塊12的暫停函數(shù),用戶界面(UI)支持模塊12將會立即給控制模塊發(fā)送一個“暫?!毙盘枺刂颇K14接收到該信號后負(fù)責(zé)通知播放核心模塊13,最終實(shí)現(xiàn)暫停功能。另外,實(shí)現(xiàn)暫停后,對應(yīng)的操作界面內(nèi)容111場景也按照用戶設(shè)計(jì)的進(jìn)行切換,如暫停圖片會變?yōu)楦吡?。?dāng)視頻暫停以后,播放核心模塊會給用戶界面(UI)支持模塊12發(fā)送一個“正在暫停”消息。用戶界面(UI)支持模塊12收到該消息后,將該信息反饋給操作界面內(nèi)容111,用戶通過該反反饋信息進(jìn)行相關(guān)處理,如顯示一個暫停的標(biāo)志,或者在暫停時顯示其它操作界面內(nèi)容111場景。
權(quán)利要求
1.一種透明用戶界面視頻播放器的實(shí)現(xiàn)方法,其特征在于該視頻播放器的視頻內(nèi)容和操作界面內(nèi)容分別由不同的模塊單獨(dú)處理,且完成之后分兩層直接獨(dú)立進(jìn)行顯示。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于該視頻播放器包含讀取操作界面內(nèi)容的內(nèi)容進(jìn)行處理并顯示輸出用戶界面支持模塊和播放視頻內(nèi)容的播放核心模塊。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于該播放核心模塊包括音視頻同步模塊、音視頻解碼模塊和流媒體支持模塊,以及用于監(jiān)控該播放核心模塊和用戶界面支持模塊的所有狀態(tài)的控制模塊;控制模塊實(shí)現(xiàn)播放核心模塊和用戶界面模塊間的邏輯控制和雙向數(shù)據(jù)的傳輸,并控制視頻播放狀態(tài)和用戶界面顯示間的同步。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于用戶界面支持模塊和播放器核心之間通過實(shí)時信號的異步消息機(jī)制進(jìn)行通信。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于視頻內(nèi)容在下層的窗口進(jìn)行顯示,操作界面內(nèi)容在上層的窗口中顯示。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于所述操作界面內(nèi)容為可以方便的進(jìn)行所見即所得的修改的使用標(biāo)準(zhǔn)HTML來描述的半透明的用戶界面。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于所述用戶界面支持模塊支持JavaScript^五[口口 ο
8.根據(jù)權(quán)利要求6所述的方法,其特征在于所述用戶界面支持透明圖片、半透明圖片、異型圖片及/或gif動畫圖片。
9.一種透明用戶界面視頻播放器,其特征在于包含一個可視界面,該可視界面包含各自獨(dú)立進(jìn)行顯示的操作界面窗口和視頻內(nèi)容窗口 ; 用戶界面支持模塊,讀取用戶界面的內(nèi)容進(jìn)行處理并顯示輸出至操作界面窗口 ; 視頻播放核心模塊,讀取視頻內(nèi)容進(jìn)行處理并輸出至視頻內(nèi)容窗口顯示; 控制模塊作為各模塊的控制中心,以實(shí)現(xiàn)播放核心模塊和用戶界面模塊間的邏輯控制和雙向數(shù)據(jù)的傳輸,并控制視頻播放狀態(tài)和操作界面內(nèi)容顯示間的同步。
10.根據(jù)權(quán)利要求9所述的播放器,其特征在于所述操作界面窗口為可以方便的進(jìn)行所見即所得的修改的使用標(biāo)準(zhǔn)HTML來描述的半透明的用戶界面。
11.根據(jù)權(quán)利要求10所述的播放器,其特征在于視頻內(nèi)容窗口及操作界面窗口分兩層,視頻內(nèi)容窗口在下層,操作界面窗口在上層。
12.根據(jù)權(quán)利要求9所述的播放器,其特征在于用戶界面支持模塊提供用戶操作界面可以調(diào)用的播放器控制接口。
全文摘要
本發(fā)明涉及一種透明用戶界面視頻播放器的實(shí)現(xiàn)方法及其播放器,該播放器包括可視界面,該可視界面包含各自獨(dú)立進(jìn)行顯示的操作界面窗口和視頻內(nèi)容窗口;用戶界面支持模塊,讀取用戶界面的內(nèi)容進(jìn)行處理并顯示輸出至操作界面窗口;視頻播放核心模塊,讀取視頻內(nèi)容進(jìn)行處理并輸出至視頻內(nèi)容窗口顯示;控制模塊作為各模塊的控制中心,以實(shí)現(xiàn)播放核心模塊和用戶界面模塊間的邏輯控制和雙向數(shù)據(jù)的傳輸,并控制視頻播放狀態(tài)和操作界面內(nèi)容顯示間的同步,以實(shí)現(xiàn)在硬件平臺配置較低和不影響視頻播放器播放效果的同時,可靈活定制視頻播放器用戶界面(UI)的透明效果。
文檔編號G06F3/048GK102221953SQ20101014644
公開日2011年10月19日 申請日期2010年4月14日 優(yōu)先權(quán)日2010年4月14日
發(fā)明者蘭雨晴, 夏穎, 張木梁, 李文昌, 王鈞, 董恩廣, 鐘偉, 黃世林 申請人:上海中標(biāo)軟件有限公司