本申請涉及終端技術(shù)領域,特別是涉及一種媒體數(shù)據(jù)播放方法、一種基于智能終端的媒體數(shù)據(jù)播放方法、一種智能終端和一種媒體數(shù)據(jù)播放裝置。
背景技術(shù):
在移動互聯(lián)網(wǎng)業(yè)務如火如荼的發(fā)展態(tài)勢影響下,開源智能終端操作系統(tǒng)因其開放性和先進性成為未來主流的智能終端軟件平臺。
基于智能終端操作系統(tǒng)的開放性,可以在智能終端上安裝兩個操作系統(tǒng),分別是主操作系統(tǒng)(hostos)和客操作系統(tǒng)(guestos)。其中,主操作系統(tǒng)指的是設備中能夠直接運行的操作系統(tǒng),如智能設備默認啟動的操作系統(tǒng);而客操作系統(tǒng)指的是必須依賴其它操作系統(tǒng)的支持才能運行的操作系統(tǒng)。在啟動智能終端時,主操作系統(tǒng)首先運行,并可啟動客操作系統(tǒng),并為其提供底層接口支持,比如設備驅(qū)動接口,內(nèi)存訪問接口等。
隨著軟硬技術(shù)的不斷發(fā)展,智能終端的多媒體功能越來越強大,其所需要支持播放的媒體數(shù)據(jù)格式也越來越多。但是,由于主操作系統(tǒng)不能支持所有媒體數(shù)據(jù)格式,如主操作系統(tǒng)不能處理第三方所提供的媒體數(shù)據(jù),導致基于主操作系統(tǒng)的智能終端不能播放第三方應用所提供的媒體數(shù)據(jù)。
顯然,智能終端基于主操作系統(tǒng)不能支持所有媒體數(shù)據(jù)格式,存在媒體數(shù)據(jù)播放失敗的問題。
技術(shù)實現(xiàn)要素:
本申請實施例所要解決的技術(shù)問題是提供一種媒體數(shù)據(jù)播放方法和基于智能終端的媒體數(shù)據(jù)播放方法,以解決智能終端播放媒體數(shù)據(jù)的失敗問題。
相應的,本申請實施例還提供一種智能終端以及一種媒體數(shù)據(jù)播放裝置,用以保證上述方法的實現(xiàn)及應用。
為了解決上述問題,本申請實施例公開了一種媒體數(shù)據(jù)播放方法,包括:第一操作系統(tǒng)通過調(diào)用通信接口向第二操作系統(tǒng)發(fā)送媒體處理請求;第二操作系統(tǒng)接收到媒體處理請求后,依據(jù)所述媒體處理請求對媒體數(shù)據(jù)進行處理,生成處理結(jié)果,將所述處理結(jié)果反饋給第一操作系統(tǒng);第一操作系統(tǒng)接收到所述處理結(jié)果,基于所述處理結(jié)果對所述媒體數(shù)據(jù)進行響應。
本申請實施例還公開了一種媒體數(shù)據(jù)播放方法,包括:基于用戶操作生成播放請求,所述播放請求包含媒體數(shù)據(jù)的源信息;在所述媒體數(shù)據(jù)不符合預置的數(shù)據(jù)格式時,向第二操作系統(tǒng)發(fā)送媒體處理請求;基于所述第二操作系統(tǒng)針對所述媒體處理請求反饋的處理結(jié)果對所述媒體數(shù)據(jù)進行響應。
本申請實施例還公開了一種媒體數(shù)據(jù)播放方法,包括:接收第一操作系統(tǒng)發(fā)送的媒體處理請求;依據(jù)所述媒體處理請求對媒體數(shù)據(jù)進行處理,生成處理結(jié)果;將所述處理結(jié)果反饋給第一操作系統(tǒng)。
本申請實施例還公開了一種智能終端,包括:第一操作系統(tǒng)和第二操作系統(tǒng);其中,所述第一操作系統(tǒng),用于通過調(diào)用通信接口向所述第二操作系統(tǒng)發(fā)送媒體處理請求,以及用于接收到所述第二操作系統(tǒng)所反饋的處理結(jié)果,基于所述處理結(jié)果對所述媒體數(shù)據(jù)進行響應;所述第二操作系統(tǒng),用于接收到媒體處理請求后,依據(jù)所述媒體處理請求對媒體數(shù)據(jù)進行處理,生成處理結(jié)果,將所述處理結(jié)果反饋給第一操作系統(tǒng)。
本申請實施例還公開了一種智能終端,包括:存儲器、顯示器、處理器和輸入單元;其中,所述處理器用于執(zhí)行本申請任一實施所述的方法。
本申請實施例還公開了一種媒體數(shù)據(jù)播放裝置,包括:播放請求模塊,用于基于用戶操作生成播放請求,所述播放請求包含媒體數(shù)據(jù)的源信息;處理請求模塊,用于在所述媒體數(shù)據(jù)不符合預置的數(shù)據(jù)格式時,向第二操作系統(tǒng)發(fā)送媒體處理請求;媒體響應模塊,用于基于第二操作系統(tǒng)針對所述媒體處理請求反饋的處理結(jié)果對所述媒體數(shù)據(jù)進行響應。
本申請實施例還公開了一種媒體數(shù)據(jù)播放裝置,包括:請求接收模塊,用于接收第一操作系統(tǒng)發(fā)送的媒體;媒體處理模塊,用于依據(jù)所述媒體處理請求對媒體數(shù)據(jù)進行處理,生成處理結(jié)果;反饋模塊,用于將所述處理結(jié)果 反饋給第一操作系統(tǒng)。
與現(xiàn)有技術(shù)相比,本申請實施例包括以下優(yōu)點:
在本申請實施例中,第一系統(tǒng)可以通過通信接口向第二操作系統(tǒng)發(fā)送媒體處理請求,即通過第二操作系統(tǒng)對該媒體數(shù)據(jù)進行處理,生成處理結(jié)果,從而可以基于第二操作系統(tǒng)所生成的處理結(jié)果對所述媒體數(shù)據(jù)進行響應,解決了安裝有兩個操作系統(tǒng)的智能終端播基于第一操作系統(tǒng)播放媒體數(shù)據(jù)失敗的問題,提高用戶體驗。
附圖說明
圖1是本申請實施例的一種智能終端的結(jié)構(gòu)框圖;
圖2是本申請實施例的一種基于智能終端的媒體數(shù)據(jù)播放方法的步驟流程圖;
圖3是本申請實施例的另一種智能終端的結(jié)構(gòu)框圖;
圖4是本申請實施例的第一操作系統(tǒng)與第二操作系統(tǒng)通信過程的時序示意圖;
圖5是本申請實施例中第一操作系統(tǒng)的一種瀏覽器內(nèi)核的結(jié)構(gòu)框圖;
圖6是本申請實施例中第一操作系統(tǒng)的一種網(wǎng)橋服務模塊的結(jié)構(gòu)框圖;
圖7是本申請實施中第二操作系統(tǒng)的一種媒體應用的結(jié)構(gòu)框圖;
圖8是本申請實施例中第二操作系統(tǒng)的一種第二圖形服務模塊的結(jié)構(gòu)框圖;
圖9是本申請實施例的另一種基于智能終端的媒體數(shù)據(jù)播放方法的步驟流程圖;
圖10是本申請實施例中基于第一操作系統(tǒng)的媒體數(shù)據(jù)播放方法;
圖11是本申請本實施例的一種媒體數(shù)據(jù)播放裝置的結(jié)構(gòu)框圖;
圖12是本申請實施例中基于第二操作系統(tǒng)的媒體數(shù)據(jù)播放方法;
圖13是本申請本實施例的另一種媒體數(shù)據(jù)播放裝置的結(jié)構(gòu)框圖;
圖14是本申請實施例的又一種智能終端的結(jié)構(gòu)框圖。
具體實施方式
為使本申請的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖和具體實施方式對本申請作進一步詳細的說明。
智能終端可以通過安裝兩個操作系統(tǒng),實現(xiàn)其各種各樣的功能,以滿足用戶需求。其中,操作系統(tǒng)(operatingsystem,簡稱os)是一個龐大的管理控制程序,其功能是管理智能終端的所有資源(包括硬件和軟件),同時也是智能終端系統(tǒng)的內(nèi)核與基石。
智能終端所安裝的兩個操作系統(tǒng)可以分別標注為第一操作系統(tǒng)和第二操作系統(tǒng)。其中,第一操作系統(tǒng)可以作為主操作系統(tǒng),具體可以包括云計算操作系統(tǒng)(簡稱云系統(tǒng)),且云系統(tǒng)具體可以是采用國際首創(chuàng)的hfp及hdrdp技術(shù)在局域網(wǎng)架構(gòu)下實現(xiàn)云計算使用效果的新一代通用計算機系統(tǒng)產(chǎn)品;第二操作系統(tǒng)可以作為客操作系統(tǒng),具體可以包括傳統(tǒng)操作系統(tǒng),如安卓(android)系統(tǒng)。在智能終端啟動時,第一操作系統(tǒng)可以首先運行,并可啟動第二操作系統(tǒng),并為其提供底層接口支持,比如設備驅(qū)動接口,內(nèi)存訪問接口等。
智能終端的第一操作系統(tǒng)所支持的媒體數(shù)據(jù)格式是有限的,導致智能終端基于第一操作系統(tǒng)不能實現(xiàn)對所有媒體數(shù)據(jù)格式的媒體數(shù)據(jù)進行播放,存在媒體數(shù)據(jù)播放失敗的問題。
本申請實施例的核心構(gòu)思之一在于,提出一種基于智能終端的媒體數(shù)據(jù)播放方法及智能終端,以解決現(xiàn)有智能終端基于第一操作系統(tǒng)不支持所有媒體數(shù)據(jù)格式而導致媒體數(shù)據(jù)播放失敗的問題。當?shù)谝幌到y(tǒng)檢測到無法處理媒體數(shù)據(jù)時,向第二操作系統(tǒng)發(fā)送媒體處理請求;通過第二操作系統(tǒng)對該媒體數(shù)據(jù)進行處理,生成處理結(jié)果,從而使得第一操作系統(tǒng)可以基于第二操作系統(tǒng)所生成的處理結(jié)果對所述媒體數(shù)據(jù)進行播放,解決了由于第一操作系統(tǒng)不支持媒體數(shù)據(jù)格式而造成智能終端基于第一操作系統(tǒng)播放媒體數(shù)據(jù)失敗的問題。
實施例一
參照圖1,示出了本申請實施例的一種智能終端的結(jié)構(gòu)框圖,具體可以包括:第一操作系統(tǒng)102和第二操作系統(tǒng)104。
其中,第一操作系統(tǒng)102,可以用于通過調(diào)用通信接口向所述第二操作系統(tǒng)發(fā)送媒體處理請求。
本實施例的智能終端在啟動時,可以自動啟動第一操作系統(tǒng)102,以實現(xiàn)其功能。當智能終端需要播放媒體數(shù)據(jù)時,第一操作系統(tǒng)102可以對所需要播放的媒體數(shù)據(jù)進行檢測,判斷是否支持該媒體數(shù)據(jù)對應媒體數(shù)據(jù)的格式,即判斷是否可以對該媒體數(shù)據(jù)處理。智能終端的第一操作系統(tǒng)102在檢測到不支持該媒體數(shù)據(jù)對應的媒體數(shù)據(jù)格式時,即在檢測到無法處理該媒體數(shù)據(jù)時,通過調(diào)用通信接口啟動第二操作系統(tǒng)104,并針對該媒體數(shù)據(jù)的處理生成媒體數(shù)據(jù)處理請求,通過通信接口向智能終端的第二操作系統(tǒng)104發(fā)送媒體處理請求,觸發(fā)第二操作系統(tǒng)104對該媒體數(shù)據(jù)進行處理。其中,該媒體處理請求與媒體數(shù)據(jù)處理有關(guān),如包括了媒體數(shù)據(jù)的源信息、第一操作系統(tǒng)的控件標志符等參數(shù)信息,以及媒體應用對應的應用包名。
第二操作系統(tǒng)104,可以用于接收到媒體處理請求后,依據(jù)所述媒體處理請求對媒體數(shù)據(jù)進行處理,生成處理結(jié)果,將所述處理結(jié)果反饋給第一操作系統(tǒng)。
第二操作系統(tǒng)104在接收到第一操作系統(tǒng)104所發(fā)送的媒體處理請求后,可以依據(jù)該媒體處理請求對媒體數(shù)據(jù)進行處理,生成該媒體數(shù)據(jù)對應的處理結(jié)果。具體的,第二操作系統(tǒng)可以通過調(diào)用媒體應用對應的接口,獲取該媒體數(shù)據(jù)對應的軟件開發(fā)工具包(softwaredevelopmentkit,sdk),通過該sdk對該媒體數(shù)據(jù)進行處理,從而可以完成對該媒體數(shù)據(jù)的處理,生成處理結(jié)果。第二操作系統(tǒng)104在生成該媒體數(shù)據(jù)的處理結(jié)果后,將所生成的處理結(jié)果反饋給第一操作系統(tǒng)102,如將生成的圖形數(shù)據(jù)發(fā)送給第一操作系統(tǒng),使得第一操作系統(tǒng)102可以基于該處理結(jié)果對媒體數(shù)據(jù)進行播放,從而實現(xiàn)智能終端的多媒體功能。
因此,智能終端的第一操作系統(tǒng)102還用于接收第二操作系統(tǒng)102所反饋的處理結(jié)果,基于所述處理結(jié)果對所述媒體數(shù)據(jù)進行響應。
在本實施例中,第一操作系統(tǒng)102在接收到第二操作系統(tǒng)102針對媒體數(shù)據(jù)處理所發(fā)送的處理結(jié)果后,就可以通過該處理結(jié)果對該媒體數(shù)據(jù)進行響 應制。具體的,第一操作系統(tǒng)102可以基于該處理結(jié)果生成該媒體數(shù)據(jù)在顯示屏上顯示的播放數(shù)據(jù),以實現(xiàn)智能終端對該媒體數(shù)據(jù)的播放控制,如在顯示屏播放視頻,暫停視頻播放、對視頻進行快進或快退播放等。
需要說明的時,本申請實施的智能終端指的是具有多媒體功能的終端設備,支持音頻、視頻、數(shù)據(jù)等方面的功能。本實施中的智能終端安裝有兩個操作系統(tǒng),包括移動智能終端如智能手機、平板電腦、也可以是智能電視、個人計算機、機頂盒如網(wǎng)絡高清機頂盒等設備。
本申請實施例的媒體數(shù)據(jù)指的是媒體所對應的傳輸數(shù)據(jù),如視頻對應的視頻數(shù)據(jù),音頻對應的音頻數(shù)據(jù)等。其中,視頻數(shù)據(jù)用于播放視頻,音頻數(shù)據(jù)用于播放音頻,如播放音樂。
基于上述智能終端,論述基于智能終端的媒體數(shù)據(jù)播放方法,如圖2所示,具體可以包括如下步驟:
步驟202,第一操作系統(tǒng)通過調(diào)用通信接口向所述第二操作系統(tǒng)發(fā)送媒體處理請求。
當智能終端需要播放媒體數(shù)據(jù)時,第一操系統(tǒng)需要對媒體數(shù)據(jù)進行處理,如按照該媒體數(shù)據(jù)對應的媒體數(shù)據(jù)格式對該媒體數(shù)據(jù)進行解釋,生成該媒體數(shù)據(jù)對應的播放數(shù)據(jù),從而可以依據(jù)該播放數(shù)據(jù)對該媒體數(shù)據(jù)進行播放,即實現(xiàn)智能終端的多媒體播放功能。
在本申請實施例中,當?shù)谝徊傧到y(tǒng)檢測到無法處理該媒體數(shù)據(jù)時,即在第一系統(tǒng)不支持該媒體數(shù)據(jù)對應的格式時,可以通過調(diào)用通信接口,如進程間通信(inter-processcommunication,ipc)機制的接口,連接第二操作系統(tǒng),向第二操系統(tǒng)發(fā)送媒體處理請求。其中,該媒體處理請求與所述媒體數(shù)據(jù)處理有關(guān),是第一操作系統(tǒng)基于所需要處理的媒體數(shù)據(jù)所生成的,可以包括媒體數(shù)據(jù)的源信息、第一操操作系統(tǒng)的控件標志符、應用包名等信息。其中,媒體數(shù)據(jù)的源信息可以包括媒體數(shù)據(jù)對應的統(tǒng)一資源定位符(uniformresourcelocator,url),還可以包括該媒體數(shù)據(jù)對應的其他數(shù)據(jù),如媒體數(shù)據(jù)對應的媒體標簽等,媒體標簽可以用于確定媒體數(shù)據(jù)所采用的媒體數(shù)據(jù)格式,url可以用于獲取媒體數(shù)據(jù);第一操操作系統(tǒng)的控件標志符可以用于 建立雙向通信連接;應用包名可以用于確定處理該媒體數(shù)據(jù)的媒體應用,通過該媒體應用可以獲取該媒體數(shù)據(jù)對應的sdk。
步驟204,第二操作系統(tǒng)接收到媒體處理請求后,依據(jù)媒體處理請求對媒體數(shù)據(jù)進行處理,生成處理結(jié)果,將所述處理結(jié)果反饋給第一操作系統(tǒng)。
智能終端的第二操作系統(tǒng)在接收到第一操作系統(tǒng)所發(fā)送的媒體處理請求后,可以依據(jù)該媒體處理請求啟動媒體應用。其中,該媒體應用安裝有媒體數(shù)據(jù)對應的sdk,可以通過該sdk對該媒體數(shù)據(jù)進行解析,完成對該媒體數(shù)據(jù)的處理。具體的,第二操作系統(tǒng)可以通過調(diào)用媒體應用對應的接口,啟動媒體應用,從而可以獲取到該媒體數(shù)據(jù)對應的sdk。通過sdk對媒體數(shù)據(jù)進行解析,生成該媒體數(shù)據(jù)的處理結(jié)果。作為本申請實施例的一個具體示例,通過該sdk調(diào)用媒體服務模塊的接口,創(chuàng)建解碼環(huán)境,對該媒體數(shù)據(jù)進行解碼,生成解碼后的數(shù)據(jù)幀,采用數(shù)據(jù)幀生成該媒體數(shù)據(jù)對應的圖形數(shù)據(jù),從而可以基于該圖形數(shù)據(jù)生成該媒體數(shù)據(jù)的處理結(jié)果,通過通信接口將該處理結(jié)果反饋給操作系統(tǒng),即響應第一操作系統(tǒng)所發(fā)送的媒體處理請求,使得第一操作系統(tǒng)可以基于該處理結(jié)果生成該媒體數(shù)據(jù)對應的播放數(shù)據(jù)。其中,該處理結(jié)果可以包括第二圖形信息、播放狀態(tài)數(shù)據(jù)等。第二圖形信息用于在第一操作系統(tǒng)中生產(chǎn)媒體數(shù)據(jù)對應的播放數(shù)據(jù),播放狀態(tài)數(shù)據(jù)可以用于顯示媒體數(shù)據(jù)所對應的播放狀態(tài),如當前的播放進度、媒體數(shù)據(jù)的播放時長等。
步驟206,第一操作系統(tǒng)接收到所述處理結(jié)果,基于所述處理結(jié)果對所述媒體數(shù)據(jù)進行播放。
智能終端的第一操作系統(tǒng)在接收到第二操作系統(tǒng)所發(fā)送的處理結(jié)果后,可以對處理結(jié)果進行檢測。如處理結(jié)果中提取第二圖形信息,并且基于該媒體數(shù)據(jù)所在的播放頁面的其他內(nèi)容生成第一圖形信息,通過第一圖形服務模塊將第二圖形信息合成到第一圖形信息中,生成第一操作系統(tǒng)的圖形顯示數(shù)據(jù),即生成了該媒體數(shù)據(jù)對應的播放數(shù)據(jù),從而可以依據(jù)該播放數(shù)據(jù)對該媒體數(shù)據(jù)進行播放。其中,該圖形顯示數(shù)據(jù)包含了第二操作系統(tǒng)所生成的處理結(jié)果,用于在智能終端的顯示界面展現(xiàn)圖形頁面,如在智能終端對應的顯示 屏上展現(xiàn)播放頁面,對媒體數(shù)據(jù)進行播放。
在本申請實施例中,智能終端的第一操作系統(tǒng)在檢測到無法處理當前所需要播放的媒體數(shù)據(jù)時,可以通過通信接口向第二操作系統(tǒng)發(fā)送媒體處理請求,請求第二操作系統(tǒng)對該媒體數(shù)據(jù)進行處理,即通過第二操作系統(tǒng)對該媒體數(shù)據(jù)進行處理,生成處理結(jié)果,使得第一操作系統(tǒng)可以基于第二操作系統(tǒng)所生成的處理結(jié)果對所述媒體數(shù)據(jù)進行播放,從而解決了由于第一操作系統(tǒng)無法處理媒體數(shù)據(jù)而造成智能終端基于第一操作系統(tǒng)播放媒體數(shù)據(jù)失敗的問題,從而可以在第一操作系統(tǒng)中播放媒體數(shù)據(jù),實現(xiàn)智能終端的媒體播放功能。
實際上,當媒體應用沒有為第一操作系統(tǒng)提供自身的sdk對應的接口時,則第一系統(tǒng)不能獲取到該sdk,即不能通過第三方應用所提供的sdk處理該媒體應用對應媒體數(shù)據(jù),即不支持該媒體用所采用的媒體數(shù)據(jù)格式。例如,視頻的提供商、視頻應用的開發(fā)商在設計sdk時,即第三方在開發(fā)sdk時,沒有針對第一操作系統(tǒng)在sdk中設置sdk與第一操作系統(tǒng)對應的接口,導致第一系統(tǒng)不能通過接口獲取第三方所提供的sdk,造成第一操作系統(tǒng)不能處理其所提供的視頻數(shù)據(jù)的問題。但是,第三方在開發(fā)sdk時,通常在sdk里設置與第二操作系統(tǒng)對應的接口,即為第二操作系統(tǒng)提供自身的sdk對應的接口,使得媒體應用可以獲取到該sdk,從而可以將其所開發(fā)的媒體應用安裝在第二操作系統(tǒng)上。因此,第二操作系統(tǒng)可以通過啟動媒體應用,調(diào)用sdk對應的接口獲取sdk,通過該sdk對媒體數(shù)據(jù)進行處理,生成該媒體數(shù)據(jù)對應的處理接口,使得智能終端可以基于該處理結(jié)果對媒體數(shù)據(jù)進行播放,實現(xiàn)媒體播放功能。
參照圖3,示出了本申請實施例的另一種智能終端的結(jié)構(gòu)框圖。
在本申請實施中,智能終端的第一操作系統(tǒng)102可以包括:瀏覽器內(nèi)核1022、網(wǎng)橋服務模塊1024和第一圖形服務模塊1026;第二操作系統(tǒng)104可以包括:媒體應用1042、媒體服務模塊1044和第二圖形服務模塊1046。
當?shù)谝徊俨僮飨到y(tǒng)102無法處理處理媒體數(shù)據(jù)時,第一操作系統(tǒng)102的瀏覽器內(nèi)核1022可以通過遠程注冊(registremote)連接第一圖形服務模塊 1026。在遠程連接中(onregisted),可以通過創(chuàng)建第二圖形,如子圖形(createsubsurface),實現(xiàn)對媒體數(shù)據(jù)的播放。作為本申請的一個具體示例,如圖4所示,在創(chuàng)建圖形過程(onsurfacecreated)中,瀏覽器內(nèi)核1022(webengine)通過網(wǎng)橋服務模塊1024(mediabridgeserver)向第二操作系統(tǒng)104的媒體應用1042(application)發(fā)送準備播放消息(prepare消息),觸發(fā)媒體應用1042進入準備播放狀態(tài)。媒體應用1042在接收到準備播放消息后,向媒體服務模塊1044(mediaserver)發(fā)送創(chuàng)建圖形消息(createsurface消息),觸發(fā)媒體服務模塊1044向?qū)Φ诙D形服務模塊1046(surfaceflinger)發(fā)送創(chuàng)建媒體圖形消息(createmediasurface消息)。第二服務模塊在接收到創(chuàng)建媒體圖形消息后,可以依據(jù)wayland協(xié)議與第一操作系統(tǒng)102建立wayland連接(waylandconnection),從而可以在連接狀態(tài)(onconnected)下創(chuàng)建子圖形(createsubsurface),將生成子圖形(setsubsurface)傳送給第一圖形服務模塊1026(westonserver),即將生成的第二圖形發(fā)送給第一圖形服務模塊1026,從而使得第一操作系統(tǒng)102可以基于第二圖形對媒體數(shù)據(jù)進行播放。第二圖形服務模塊1046在建立與第一圖形服務模塊1026的連接后,可以通過子圖形創(chuàng)建消息(onsurfacecreated消息)通知媒體服務模塊1044,觸發(fā)媒體服務模塊1044向媒體應用1042發(fā)送初始化完成消息(onprepared消息)。媒體應用1042在接收到初始化完成的消息后,向網(wǎng)橋服務模塊1024轉(zhuǎn)發(fā)初始化完成的消息,進而使得瀏覽器內(nèi)核1022獲取到初始化完成的消息,進入開始播放媒體數(shù)據(jù)的狀態(tài)。瀏覽器內(nèi)核1022可以通過發(fā)送開始播放消息(start消息),觸發(fā)媒體服務模塊1044向第二圖形服務模塊1046發(fā)送繪制圖形消息(drawtosurface消息),使得第二圖形服務模塊1046繪制子圖形傳送給第一圖形服務模塊1026,相當于drawtosubsurface,從而可以在第一操系統(tǒng)中對媒體數(shù)據(jù)進行播放。同理,瀏覽器內(nèi)核1022通過發(fā)送停止播放消息(如stop消息),可以觸發(fā)媒體服務模塊1044向第二圖形服務模塊1046發(fā)送刪除圖形消息,相當于destorysurface,使得第二圖形服務模塊1046斷開與第一圖形服務模塊1026的wayland連接,如發(fā)送waylanddisconnect消息,使得連接斷開即第二圖 形服務模塊1046斷開與第一圖形服務處于ondisconnected狀態(tài),停止播放媒體數(shù)據(jù)。
其中,第一操作系統(tǒng)102的瀏覽器內(nèi)核1022,可以用于基于用戶操作生成的播放請求,所述播放請求包含所述媒體數(shù)據(jù)的源信息;以及用于依據(jù)所述播放請求檢測媒體數(shù)據(jù)的源信息。具體的,瀏覽器內(nèi)核可以對用戶操作對應的接口進行監(jiān)聽,在監(jiān)聽到用戶操作時,通過獲取該用戶操作對應的數(shù)據(jù)源信息生成操作請求。當數(shù)據(jù)源信息包含了媒體標簽時,瀏覽器內(nèi)核可以將該操作請求確定為播放請求,并且可以對該媒體數(shù)據(jù)的源信息進行檢測,以判斷第一操系統(tǒng)是否支持該媒體數(shù)據(jù)對應的媒體數(shù)據(jù)格式。當檢測到第一操作體統(tǒng)不支持該媒體數(shù)據(jù)對應的媒體數(shù)據(jù)格式,可以判定第一操作系統(tǒng)無法處理該播放請求中的媒體數(shù)據(jù)。
參照圖5,示出了本申請實施中第一操作系統(tǒng)的一種瀏覽器內(nèi)核的結(jié)構(gòu)框圖。
在本申請的一種優(yōu)選實施例中,媒體數(shù)據(jù)的源信息包括媒體標簽;所瀏覽器內(nèi)核1022,可以包括如下子模塊:
媒體標簽提取子模塊102201,用于所述瀏覽器內(nèi)核從源信息中提取所述媒體數(shù)據(jù)對應的媒體標簽。
判斷子模塊102203,用于基于所述媒體標簽判斷所述媒體數(shù)據(jù)是否符合預置的數(shù)據(jù)格式。
確定子模塊102205,用于在所媒體數(shù)據(jù)不符合預置的數(shù)據(jù)格式時,確定第一操作系統(tǒng)無法處理所述媒體數(shù)據(jù)。
參數(shù)信息發(fā)送子模塊102207,用于向所述網(wǎng)橋服務模塊發(fā)送所述媒體數(shù)據(jù)對應的參數(shù)信息。
在本申請實施例中,瀏覽器內(nèi)核102可以通過媒體標簽提取子模塊102201從源信息中提取所述媒體數(shù)據(jù)對應的媒體標簽;采用判斷子模塊102203對所提取到媒體標簽進行檢測,以判斷媒體數(shù)據(jù)是否符合預置的數(shù)據(jù)格式,即判斷第一操作系統(tǒng)102是否可以處理該媒體數(shù)據(jù);在該媒體數(shù)據(jù)不符合預置的數(shù)據(jù)格式時,通過確定子模塊102205可以確定第一操作系統(tǒng)102 無法處理該媒體數(shù)據(jù),并且通過參數(shù)信息發(fā)送子模塊102207向所述網(wǎng)橋服務模塊10204發(fā)送所述媒體數(shù)據(jù)對應的參數(shù)信息,觸發(fā)網(wǎng)橋服務模塊1024向第二操作系統(tǒng)104發(fā)送媒體處理請求,使得第一操作系統(tǒng)102可以連接第二操作系統(tǒng)104,通過第二操作系統(tǒng)104對該媒體數(shù)據(jù)進行處理,獲取到第二操作系統(tǒng)104針對該媒體數(shù)據(jù)的處理結(jié)果。
網(wǎng)橋服務模塊1024,具體可以用于在接收到所述參數(shù)信息后,依據(jù)所述參數(shù)信息生成媒體處理請求,調(diào)用通信接口向所述第二操作系統(tǒng)發(fā)送媒體處理請求。
可選的,瀏覽器內(nèi)核1022還可以包括:標志符獲取子模塊102209和參數(shù)信息確定子模塊102211。
其中,標志符獲取子模塊102209,可以用于通過系統(tǒng)接口獲取第一操作系統(tǒng)的控件標志符。
數(shù)信息確定子模塊102211,可以用于將所述控件標志符和源信息作為所述參數(shù)信息。
在本申請實施例中,瀏覽器內(nèi)核可以通過標志符獲取子模塊102209調(diào)用系統(tǒng)接口,獲取第一操作體統(tǒng)的控件標識符,該控件標識符用于建立第一操系統(tǒng)與第二操作系統(tǒng)之間的雙向通信;并通過參數(shù)信息確定子模塊102211將所述控件標志符和源信息作為所述參數(shù)信息,調(diào)用參數(shù)信息發(fā)送子模塊102207向網(wǎng)橋服務模塊1024發(fā)送參數(shù)信息。
參照圖6,示出了本申請實施中第一操作系統(tǒng)的一種網(wǎng)橋服務模塊的結(jié)構(gòu)框圖。
在本申請的一種優(yōu)選實施例中,網(wǎng)橋服務模塊1024可以包括如下子模塊:
應用包名確定子模塊102401,可以用于從所述參數(shù)信息中提取源信息,基于所述源信息確定應用包名,所述應用包名用于確定處理所述媒體數(shù)據(jù)的媒體應用。
處理請求生成子模塊102403,可以用于采用所述參數(shù)信息以及應用包名,生成所述媒體處理請求。
在本申請實施例中,網(wǎng)橋服務模塊1024在接收到瀏覽器內(nèi)核所發(fā)送的參數(shù)信息后,可以通過應用包名確定字模塊102401從參數(shù)信息中提取媒體數(shù)據(jù)的源信息,依據(jù)所提取的源信息確定處理該媒體數(shù)據(jù)的媒體應用對應的應用包名;采用處理請求生成子模塊102403生成媒體處理請求,該媒體處理請求包含參數(shù)信息以及應用包名。網(wǎng)橋服務模塊1024通過通信接口將該媒體處理請求發(fā)發(fā)送給第二操作系統(tǒng)104,觸發(fā)第二操作系統(tǒng)104依據(jù)該媒體處理請求啟動應用包名對應的媒體應用1042,對媒體數(shù)據(jù)進行處理。
可選的,網(wǎng)橋服務模塊1024還可以包括:通信建立子模塊102405和處理請求發(fā)送子模塊102407。
通信建立子模塊102405,用于調(diào)用所述通信接口,基于所述控件標識符與第二操作系統(tǒng)建立雙向通信連接。
處理請求發(fā)送子模塊102407,用于基于所述雙向通信連接向第二操作系統(tǒng)發(fā)送所述媒體處理請求。
在本申請實施例中,網(wǎng)橋服務模塊1024可以通過通信建立子模塊102405調(diào)用通信接口,采用控件標識符與第二操作系統(tǒng)建立雙向通信連接。此外,網(wǎng)橋服務模塊1024還可以通過處理請求發(fā)送子模塊102407,基于通信建立子模塊102405所建立的雙向通信連接,向第二操作系統(tǒng)發(fā)送所述媒體處理請求。
第二操作系統(tǒng)104,可以具體用于基于所述媒體處理請求,啟動所述應用包名對應的媒體應用1042。該媒體應用1042,用于響應所述媒體處理請求,生成所述媒體數(shù)據(jù)對應的處理結(jié)果。具體的,媒體應用1042安裝有sdk,可以依據(jù)媒體數(shù)據(jù)的源信息如媒體數(shù)據(jù)的資源統(tǒng)一定位符(uniformresourcelocator,url)獲取媒體處理請求對應的媒體數(shù)據(jù),通過sdk對該媒體數(shù)據(jù)進行解析,以生成該媒體數(shù)據(jù)的處理結(jié)果,如調(diào)用媒體服務接口創(chuàng)建解碼環(huán)境,對所述媒體數(shù)據(jù)進行解碼,生成所述處理結(jié)果。
參照圖7,示出了本申請實施中第二操作系統(tǒng)的一種媒體應用的結(jié)構(gòu)框圖。
在本申請的一種優(yōu)選實施例中,媒體應用1042可以包括如下子模塊:
媒體數(shù)據(jù)獲取子模塊104201,用于依據(jù)所述源信息獲取媒體處理請求對應的媒體數(shù)據(jù)。
解碼環(huán)境創(chuàng)建子模塊104203,用于調(diào)用媒體服務接口創(chuàng)建解碼環(huán)境,對所述媒體數(shù)據(jù)進行解碼,生成所述處理結(jié)果。
在本申請實施例中,媒體應用1042可以通過解碼環(huán)境創(chuàng)建子模塊104203,調(diào)用媒體接口創(chuàng)建解碼環(huán)境,對所述媒體數(shù)據(jù)進行解碼,生成所述處理結(jié)果。作為本申請的一個具體示例,可以通過解碼環(huán)境創(chuàng)建子模塊104203調(diào)用媒體接口,向第二媒體服務模塊1044發(fā)送所獲取的媒體數(shù)據(jù),觸發(fā)第二媒體服務模塊1044對該媒體數(shù)據(jù)進行解碼。
可選的,解碼環(huán)境創(chuàng)建子模塊104203可以包括媒體數(shù)據(jù)發(fā)送單元1042031。其中,媒體數(shù)據(jù)發(fā)送單元1042031可以用于通過媒體接口向第二媒體服務模塊發(fā)送所獲取的媒體數(shù)據(jù)。
第二媒體服務模塊1044,用于在接收到媒體數(shù)據(jù)后,對所述媒體數(shù)據(jù)進行解碼,生成數(shù)據(jù)幀,將所生成的數(shù)據(jù)幀發(fā)送給第二圖形服務模塊1046。
第二圖形服務模塊1046,用于在接收到數(shù)據(jù)幀后,對所述數(shù)據(jù)幀進行合成,生成第二圖形信息,將所述第二圖形信息作為圖形處理結(jié)果。
在本申請實施例中,媒體應用的解碼環(huán)境創(chuàng)建子模塊104203可以通過調(diào)用媒體接口向第二媒體服務模塊1044發(fā)送處理請求。當?shù)诙襟w服務模塊1044該處理請求時,解碼環(huán)境創(chuàng)建子模塊104203可以通過媒體數(shù)據(jù)發(fā)送單元1042031,向第二媒體服務模塊1044發(fā)送所獲取的媒體數(shù)據(jù),觸發(fā)第二媒體服務模塊1044對該媒體數(shù)據(jù)進行解碼處理。第二媒體服務模塊1044對接收到的媒體數(shù)據(jù)進行解碼,生成解碼后的數(shù)據(jù)幀,并將所生成的數(shù)據(jù)幀輸送到第二圖形服務模塊1046進行合成。
第二圖形服務模塊1046,用于在接收到數(shù)據(jù)幀后,對所述數(shù)據(jù)幀進行合成,生成第二圖形信息,將所述第二圖形信息作為圖形處理結(jié)果。
在本申請實施例中的,第二圖形服務模塊1046可以對控件標志符對應的接口進行監(jiān)聽。當監(jiān)聽到第一操作系統(tǒng)102的控件標志符時,第二圖形服務模塊1046可以基于第一操作系統(tǒng)102的控件標志符連接第一操作系統(tǒng)102 的第一圖形服務模塊1026,并將所接收到的數(shù)據(jù)幀合成第二圖形,生成第二圖形信息。該第二圖形信息包括第二圖形和第二圖形對應的句柄,該句柄用于控制第二圖形的顯示區(qū)域大小以及顯示位置。
參照圖8,示出了本申請實施中第二操作系統(tǒng)的一種第二圖形服務模塊的結(jié)構(gòu)框圖。
在本申請的一種優(yōu)選實施例中,第二圖形服務模塊1046可以包括如下子模塊:
監(jiān)聽子模塊104601,用于對控件標志符對應的接口進行監(jiān)聽。
連接子模塊104603,用于在監(jiān)聽到第一操作系統(tǒng)的控件標志符時,基于所述控件標志符連接第一操作系統(tǒng)的第一圖形服務模塊。
在本申請實施例中,第二圖形服務服務模塊可以通過監(jiān)聽子模塊104601,實時對控件標志符對應的接口進行監(jiān)聽。當監(jiān)聽到第一操作系統(tǒng)102的控件標志符時,可以確定接收到的數(shù)據(jù)幀為針對第一操作系統(tǒng)102所發(fā)送的媒體處理請求所生成的數(shù)據(jù)幀,判定該數(shù)據(jù)幀屬于特殊編碼方式,將該數(shù)據(jù)幀合成第二圖形和第二圖形對應的句柄;通過調(diào)用連接子模塊104603,基于控件標志符連接第一操作系統(tǒng)102的第一圖形服務模塊1026,以向第一圖形服務模塊1026發(fā)送所生產(chǎn)的第二圖形和該第二圖形對應的句柄,從而使得第一操系統(tǒng)102可以給基于該第二圖形和該第二圖形對應的句柄生成媒體數(shù)據(jù)對應的播放數(shù)據(jù),進而可以在第一操作系統(tǒng)102對該媒體數(shù)據(jù)進行播放控制。
可選的,第二圖形服務模塊1046還可以包括如下子模塊:
編碼判定子模塊10465,用于在監(jiān)聽到第一操作系統(tǒng)的控件標志符時,判定所述數(shù)據(jù)幀屬于特殊編碼方式。
數(shù)據(jù)幀合成子模塊10467,用于對所述數(shù)據(jù)幀進行合成,生成第二圖形和所述第二圖形對應的句柄。
在本申請實施例的一種優(yōu)選實施例中,解碼環(huán)境創(chuàng)建子模塊104203還可以包括狀態(tài)信息生成單元1042033。其中,狀態(tài)信息生成單元1042033可以用于通過軟件開發(fā)包對所述媒體數(shù)據(jù)進行解析,生成播放狀態(tài)信息,將所 生成的播放狀態(tài)信息作為狀態(tài)處理結(jié)果。其中,該播放狀態(tài)信息可以用于在智能終端的顯示界面上顯示媒體播放器對應的播放狀態(tài),如顯示當前播放的進度、媒體播放時長等。其中,媒體播放時長是指該媒體數(shù)據(jù)播放完畢所需要的時間長度,如視頻播放時長為50分鐘,是指播放完該視頻播放需要50分鐘。
在本申請實施例中,媒體應用1042還用于將所述狀態(tài)處理結(jié)果發(fā)送到網(wǎng)橋服務模塊;第二圖形服務模塊1046,還用于將所述圖形處理結(jié)果發(fā)送到第一圖形服務模塊。第二操作系通過調(diào)用媒體應用1042以及第二圖形服務模塊1046將狀態(tài)處理結(jié)果和圖形處理結(jié)果反饋給第一操系統(tǒng)102,使得第一操系統(tǒng)102可以基于狀態(tài)處理結(jié)果和圖形處理結(jié)果對該媒體數(shù)據(jù)進行播放,從而解決了智能終端的第一操作系統(tǒng)102不支持媒體數(shù)據(jù)對應的媒體數(shù)據(jù)格式而導致智能終端基于第一操作系統(tǒng)102播放媒體數(shù)據(jù)失敗的問題。
在本申請的一種優(yōu)選實施例中,網(wǎng)橋服務模塊1024還可以包括處理結(jié)果轉(zhuǎn)發(fā)子模塊102408。其中,處理結(jié)果轉(zhuǎn)發(fā)子模塊102408可以用于將接收到的狀態(tài)處理結(jié)果轉(zhuǎn)發(fā)給瀏覽器內(nèi)核1022。所述瀏覽器內(nèi)核1022,還可以用于基于狀態(tài)處理結(jié)果,獲取第一圖形服務模塊1026所接收到的第二圖形對應的句柄,依據(jù)所述句柄確定目標透明區(qū)域,基于所述目標透明區(qū)域生成第一圖形的內(nèi)容,將所述第一圖形的內(nèi)容發(fā)送到第一圖形服務模塊1026;第一圖形服務模塊1026,可以用于基于第一圖形的內(nèi)容生成第一圖形,在第一圖形的目標透明區(qū)域展現(xiàn)第二圖形,對所述媒體數(shù)據(jù)進行播放。
具體的,網(wǎng)橋服務模塊1024在接收到媒體應用1042所發(fā)送的狀態(tài)處理結(jié)果后,通過調(diào)用處理結(jié)果轉(zhuǎn)發(fā)子模塊102408將該狀態(tài)處理結(jié)果轉(zhuǎn)發(fā)給瀏覽器內(nèi)核1022,使得瀏覽器內(nèi)核1022可以基于該狀態(tài)處理結(jié)果對媒體數(shù)據(jù)進行播放。例如,瀏覽器內(nèi)核1022可以對該狀態(tài)處理結(jié)果進行檢測,在檢測到該狀態(tài)處理結(jié)果包含準備狀態(tài)數(shù)據(jù)時,進入媒體播放模式,即進入播放媒體數(shù)據(jù)的準備狀態(tài);在媒體播放模式下,獲取第一圖形服務模塊1026所接收到的第二圖形對應的句柄,依據(jù)該句柄確定第二圖形在第一圖形上對應的顯示位置和顯示區(qū)域大小,即確定第二圖形在第一圖形層的顯示區(qū)域,將 所確定的顯示區(qū)域設置為目標透明區(qū)域。此外,瀏覽器內(nèi)核1022還用于從接收到的狀態(tài)處理結(jié)果中提取播放狀態(tài)數(shù)據(jù),采用該播放狀態(tài)數(shù)據(jù)和目標透明區(qū)域生成第一圖形的內(nèi)容,將所生產(chǎn)的第一圖形的內(nèi)容傳輸給第一圖形服務模塊1026,觸發(fā)第一圖形服務模塊1026生成第一圖形,以在第一圖形的目標透明區(qū)域展現(xiàn)第二圖形,對所述媒體數(shù)據(jù)進行播放。
在本申請的一種優(yōu)選實施例中,瀏覽器內(nèi)核1022還可以包括如下子模塊:
狀態(tài)數(shù)據(jù)提取子模塊102213,用于從所述狀態(tài)處理結(jié)果中提取播放狀態(tài)數(shù)據(jù)。
第一圖形內(nèi)容生成子模塊102215,用于采用所述播放狀態(tài)數(shù)據(jù)和目標透明區(qū)域生成第一圖形的內(nèi)容。
可選的,該瀏覽器內(nèi)核1022還包括:區(qū)域確定子模塊102217、顯示區(qū)域確定子模塊102219和目標透明設置子模塊102221。
區(qū)域確定子模塊102217,用于采用所述句柄確定所述第二圖形在第一圖形上對應的顯示位置和顯示區(qū)域大小。
顯示區(qū)域確定子模塊102219,用于基于所述顯示位置和顯示區(qū)域大小,確定第二圖形在第一圖形上的顯示區(qū)域。
目標透明設置子模塊102221,用于將所述顯示區(qū)域設置為目標透明區(qū)域。
顯示區(qū)域可以包括:目標播放器播放窗口。具體的,瀏覽器內(nèi)核可以通過區(qū)域確定子模塊102217,采用第二圖形對應的句柄確定第二圖形在第一圖形上對應的顯示位置和顯示區(qū)域大??;調(diào)用顯示區(qū)域確定子模塊102219,確定第二圖形在第一圖形上的顯示區(qū)域,如確定目標播放器播放窗口在網(wǎng)頁頁面中的顯示位置以及播放窗口的大小;通過目標透明設置子模塊102221將顯示區(qū)域設置為目標透明區(qū)域,從而使得第一圖形服務模塊1026可以將第二圖形合并到第一圖形中,進而可以在目標透明區(qū)域展現(xiàn)第二圖形,即在目標播放器播放窗口對媒體數(shù)據(jù)進行播放。
可選的,瀏覽器內(nèi)核1022還可以包括:播放模式進入子模塊102223和 句柄獲取子模塊102225。其中,播放模式進入子模塊102223,用于在檢測到所述狀態(tài)處理結(jié)果包含準備狀態(tài)數(shù)據(jù)時,基于所述準備狀態(tài)數(shù)據(jù)進入媒體播放模式。句柄獲取子模塊102225,用于在所述媒體播放模式下,獲取第一圖形服務模塊所接收到的第二圖形對應的句柄。
基于上述智能終端,進一步論述基于智能終端的媒體數(shù)據(jù)播放方法,如圖9所示,具體可以包括如下步驟:
步驟902,第一操作系統(tǒng)的瀏覽器內(nèi)核基于用戶操作生成的播放請求,所述播放請求包含所述媒體數(shù)據(jù)的源信息。
在本申請實施中,用戶可以通過智能終端選擇其想要播放的媒體。作為本申請的一個具體示例,用戶可以通過安裝在智能終端的第一操作系統(tǒng)上的瀏覽器,選擇其想要觀看的視頻,如通過點擊操作選中其所需要播放的視頻,相當于訪問一個含有視頻的html5的網(wǎng)頁。第一操作系統(tǒng)的瀏覽器可以基于用戶操作如用戶所提交的點擊操作,獲取用戶操作對應的數(shù)據(jù)源信息,如獲取用戶操作對應的url,將url作為數(shù)據(jù)源信息,基于所獲取的數(shù)據(jù)源信息生成操作請求。其中,url包含模式(或稱協(xié)議)、服務器名稱(或ip地址)、路徑和文件名等信息,如url的數(shù)據(jù)格式可以是“協(xié)議://用戶名:密碼@子域名.域名.頂級域名:端口號/目錄/文件名.文件后綴?參數(shù)=值#標志”。當數(shù)據(jù)源信息包含了媒體標簽時,如所獲取到的url包含了媒體對應的文件后綴信息,瀏覽器內(nèi)核可以將該操作請求確定為播放請求,將播放請求中的數(shù)據(jù)源信息作為為媒體數(shù)據(jù)的源信息。媒體數(shù)據(jù)對應的源信息可以包含媒體標簽如視頻標簽videotag、文件名信息、傳輸協(xié)議等信息。
步驟904,瀏覽器內(nèi)核依據(jù)所述播放請求檢測媒體數(shù)據(jù)的源信息。
當操作請求為播放請求時,瀏覽器內(nèi)核需要對該播放請求中的源信息進行檢測,以響應該播放請求。具體的,瀏覽器內(nèi)核需要按照媒體數(shù)據(jù)對應的媒體數(shù)據(jù)格式對該媒體數(shù)據(jù)進行解析,以生成該媒體數(shù)據(jù)對應的播放數(shù)據(jù),從而可以依據(jù)播放數(shù)據(jù)對該媒體數(shù)據(jù)進行播放控制,即響應用戶操作對應的播放請求。瀏覽器內(nèi)核可以從源信息中提取所述媒體數(shù)據(jù)對應的媒體標簽,基于該媒體標簽確定媒體數(shù)據(jù)對應的媒體數(shù)據(jù)格式,從而可以判定媒體數(shù)據(jù) 是否符合預置的數(shù)據(jù)格式,即判斷第一操作系統(tǒng)是否可以處理該媒體數(shù)據(jù)。
在本申請的一個優(yōu)選實施例中,第一操作系統(tǒng)依據(jù)所述播放請求檢測媒體數(shù)據(jù)的源信息,可以包括如下子步驟:
子步驟9041,瀏覽器內(nèi)核從源信息中提取所述媒體數(shù)據(jù)對應的媒體標簽。
作為本申請的一個具體示例,瀏覽器內(nèi)核可以從媒體數(shù)據(jù)的源信息中提取媒體標簽,采用該媒體標簽確定該媒體數(shù)據(jù)對應的媒體數(shù)據(jù)格式,以確定第一操系統(tǒng)是否支持該媒體數(shù)據(jù)對應的媒體數(shù)據(jù)格式。例如,瀏覽器內(nèi)核從用戶所訪問的網(wǎng)頁的url中提取videotag,相當于從媒體數(shù)據(jù)的源信息中提取videotag,從而可以基于videotag的數(shù)據(jù)源data-from屬性確定媒體數(shù)據(jù)對應的媒體數(shù)據(jù)格式。
子步驟9043,基于所述媒體標簽判斷所述媒體數(shù)據(jù)是否符合預置的數(shù)據(jù)格式。
在本申請實施例中,智能終端的第一操作系統(tǒng)預置了其所支持的數(shù)據(jù)格式,即預先設置了其可以處理的數(shù)據(jù)對應的數(shù)據(jù)格式。作為本申請的一個具體示例,主操作系統(tǒng)預先設置了主操作系統(tǒng)的播放器hostosplayer所支持的媒體數(shù)據(jù)格式,如預置了hostosplayer所支持的媒體數(shù)據(jù)格式,如flashvideo格式(簡稱flv格式)。瀏覽器內(nèi)核可以基于媒體標簽確定媒體數(shù)據(jù)對應的媒體數(shù)據(jù)格式,從而可以判斷該媒體數(shù)據(jù)是否符合預置的數(shù)據(jù)格式。具體的,當媒體數(shù)據(jù)對應的媒體數(shù)據(jù)格式為預置的數(shù)據(jù)格式時,可以判定該媒體數(shù)據(jù)符合預置的數(shù)據(jù)格式,如在媒體數(shù)據(jù)對應的媒體數(shù)據(jù)格式為flv格式時,可以判定該媒體數(shù)據(jù)符合hostosplayer所支持的媒體數(shù)據(jù)格式,即可以采用hostosplayer對該媒體數(shù)據(jù)進行處理;當媒體數(shù)據(jù)對應的媒體數(shù)據(jù)格式不是預置的數(shù)據(jù)格式時,可以判定該媒體數(shù)據(jù)不符合預置的數(shù)據(jù)格式,如在媒體數(shù)據(jù)對應的媒體數(shù)據(jù)格式為qsv格式時,可以判定該媒體數(shù)據(jù)不符合hostosplayer所支持的媒體數(shù)據(jù)格式,即不可以采用hostosplayer對該媒體數(shù)據(jù)進行處理。其中,qsv格式為第三方所研發(fā)的是所研發(fā)的一種視頻文件格式,可以采用客操作系統(tǒng)的播放器guestosplayer對qsv格式對應 的視頻數(shù)據(jù)進行處理。
子步驟9045,在所述媒體數(shù)據(jù)不符合預置的數(shù)據(jù)格式時,確定第一操作系統(tǒng)無法處理所述媒體數(shù)據(jù)。
在本申請實施例中,瀏覽器內(nèi)核在媒體數(shù)據(jù)不符合預置的數(shù)據(jù)格式時,即可以確定第一操作系統(tǒng)無法處理該媒體數(shù)據(jù),相當于hostosplayer不能該媒體數(shù)據(jù)進行解碼處理,可以調(diào)用guestosplayer對該媒體數(shù)據(jù)進行解碼。
步驟906,瀏覽器內(nèi)核向所述第一操作系統(tǒng)的網(wǎng)橋服務模塊發(fā)送所述媒體數(shù)據(jù)對應的參數(shù)信息。
本實施例中,第一操作系統(tǒng)在檢測到無法處理所述媒體數(shù)據(jù)時,執(zhí)行向第二操作系統(tǒng)發(fā)送媒體處理請求的步驟。具體的,當瀏覽器內(nèi)核確定第一操作系統(tǒng)無法處理該媒體數(shù)據(jù)時,可以通過網(wǎng)橋服務模塊連接第二操作系統(tǒng),觸發(fā)第二操作系統(tǒng)對該媒體數(shù)據(jù)進行處理,從而獲取第二操作系統(tǒng)針對該媒體數(shù)據(jù)的處理結(jié)果。具體而言,瀏覽器內(nèi)核可以通過系統(tǒng)接口獲取第一操作系統(tǒng)的控件標志符,如第一操作系統(tǒng)的clientid,將獲取到的媒體數(shù)據(jù)的源信息和第一操作系統(tǒng)的控件標志符作為參數(shù)信息,并將參數(shù)信息傳輸給網(wǎng)橋服務模塊,觸發(fā)網(wǎng)橋服務模塊向第二操作系統(tǒng)發(fā)送媒體處理請求。該媒體處理請求與媒體數(shù)據(jù)處理有關(guān),可以包含了媒體數(shù)據(jù)的源信息、應用包名等信息。其中,該應用包名可以依據(jù)了媒體數(shù)據(jù)的源信息確定,用于確定處理該媒體數(shù)據(jù)的媒體應用。
可選的,所述瀏覽器內(nèi)核在向網(wǎng)橋服務模塊發(fā)送所述媒體數(shù)據(jù)對應的參數(shù)信息之前,還包括:通過系統(tǒng)接口獲取第一操作系統(tǒng)的控件標志符;將所述控件標志符和源信息作為所述參數(shù)信息。
作為本申請的一個具體示例,瀏覽器內(nèi)核webengine可以通過weston所提供的接口獲取第一操作系統(tǒng)的clientid,將獲取到的clientid和媒體數(shù)據(jù)的url作為參數(shù)信息,向網(wǎng)橋服務模塊mediabridgeservice發(fā)送。其中,第一操作系統(tǒng)和第二操作系統(tǒng)可以通過該clientid建立socket連接,以進行通信。
步驟908,網(wǎng)橋服務模塊在接收到所述參數(shù)信息后,依據(jù)所述參數(shù)信息生成媒體處理請求,調(diào)用通信接口向所述第二操作系統(tǒng)發(fā)送媒體處理請求。
網(wǎng)橋服務模塊在接收到瀏覽器內(nèi)核所發(fā)送的參數(shù)信息后,可以基于參數(shù)信息生成媒體處理請求,向第二操作系統(tǒng)發(fā)送該媒體處理請求,觸發(fā)第二操作系統(tǒng)啟動應用包名對應的媒體應用,使得該媒體應用在啟動后創(chuàng)建解碼環(huán)境,對該媒體數(shù)據(jù)進行解碼,以生成該媒體數(shù)據(jù)的處理結(jié)果。例如,網(wǎng)橋服務模塊mediabridgeservice在接收到參數(shù)信息后,可以通過調(diào)用ipc接口,向第二操作系統(tǒng)發(fā)送ipc消息,該ipc消息數(shù)據(jù)包括應用程序包名applicationpackagename(簡稱應用包名)、url、clientid等信息,即相當于向第二操系統(tǒng)發(fā)送媒體處理請求。
在本申請的一種優(yōu)選實施例中,網(wǎng)橋服務模塊依據(jù)所述參數(shù)信息生成媒體處理請求,可以包括如下子步驟:
子步驟9081,從所述參數(shù)信息中提取源信息,基于所述源信息確定應用包名,所述應用包名用于確定處理所述媒體數(shù)據(jù)的媒體應用。
在本申請實施例中,網(wǎng)橋服務模塊可以依據(jù)預置的源信息標識符從參數(shù)信息中提取源信息標識符對應的源信息,基于所提取的源信息確定應用包名。該應用包名可以用于確定處理該媒體數(shù)據(jù)的媒體應用。例如,在媒體數(shù)據(jù)為視頻數(shù)據(jù)時,應用包名可以具體用于啟動第二操作系統(tǒng)的視頻應用。其中,該第二操作系統(tǒng)的視頻應用可以用于創(chuàng)建子圖形surface和基于第三方的sdk創(chuàng)建媒體播放器mediaplayer。
子步驟9083,采用所述參數(shù)信息以及應用包名,生成所述媒體處理請求。
在本實施例中,網(wǎng)橋服務模塊可以通過該瀏覽器內(nèi)核所發(fā)送的參數(shù)信息以及所確定的應用包名生成媒體處理請求,通過調(diào)用通信接口,如ipc接口,向第二操作系統(tǒng)發(fā)送該媒體處理請求,觸發(fā)第二操作系統(tǒng)依據(jù)該媒體處理請求啟動應用名對應的媒體應用。
可選的,網(wǎng)橋服務模塊調(diào)用通信接口向所述第二操作系統(tǒng)發(fā)送媒體處理請求,可以包括如下子步驟:
子步驟9085,調(diào)用所述通信接口,基于所述控件標識符與第二操作系統(tǒng) 建立雙向通信連接。
作為本申請的一個具體示例,網(wǎng)橋服務模塊可以從參數(shù)信息同提取第一操作系統(tǒng)的clientid,以及通過調(diào)用ipc接口,依據(jù)第一操作系統(tǒng)的clientid與第二操作系統(tǒng)建立雙向通信連接,如網(wǎng)橋服務模塊可以通過ipc接口,依據(jù)第一操作系統(tǒng)的clientid與第二操作系統(tǒng)的媒體應用application建立socket連接,從而可以基于該socket連接進行通信。
子步驟9087,基于所述雙向通信連接向第二操作系統(tǒng)發(fā)送所述媒體處理請求。
具體的,網(wǎng)橋服務模塊基于雙向通信連接,向第二操作系統(tǒng)發(fā)送媒體處理請求,以觸發(fā)第二操作系統(tǒng)對該媒體數(shù)據(jù)進行處理。例如,在第二操作系統(tǒng)的媒體應用application還沒有啟動時,可以通過該媒體處理請求觸發(fā)第二操作系統(tǒng)啟動應用包名對應的媒體應用application,使得該媒體應用application調(diào)用準備接口,如applicationprepare接口,進行播放準備工作。
步驟910,第二操作系統(tǒng)基于所述媒體處理請求,啟動所述應用包名對應的媒體應用。
第二操作系統(tǒng)在接到網(wǎng)橋服務模塊所發(fā)送的媒體數(shù)據(jù)請求后,可以從該媒體處理請求中提取應用包名,如按照預置的包名參數(shù)標識符從媒體處理請求中提取包名參數(shù)標識符對應的應用包名,從而可以確定處理該媒體數(shù)據(jù)的媒體應用。在本申請實施例中,第一操作系統(tǒng)可以通過啟動該應用包名對應的媒體應用,響應第一操作系統(tǒng)所發(fā)送的媒體處理請求,即通過所述媒體應用響應所述媒體處理請求,生成所述媒體數(shù)據(jù)對應的處理結(jié)果。具體的,媒體應用安裝有sdk,第二操作系統(tǒng)通過媒體應用調(diào)用sdk所提供的接口獲取該sdk,通過sdk對該媒體數(shù)據(jù)進行解析,以生成該媒體數(shù)據(jù)的處理結(jié)果,如調(diào)用媒體服務接口創(chuàng)建解碼環(huán)境,對所述媒體數(shù)據(jù)進行解碼,生成所述處理結(jié)果。下文結(jié)合具體的解碼環(huán)境,對本申請實施例進行詳細的論述。
步驟912,媒體應用依據(jù)所述源信息獲取媒體處理請求對應的媒體數(shù)據(jù)。
在具體實現(xiàn)中,媒體應用在啟動后,進入播放準備狀態(tài)。作為本申請實施例的具體示例,視頻應用在啟動后,可以根據(jù)視頻數(shù)據(jù)的源信息,如視頻 數(shù)據(jù)的url,獲取該媒體處理請求對應的視頻數(shù)據(jù),從而可以依據(jù)視頻數(shù)據(jù)創(chuàng)建子圖形surface和基于第三方的sdk創(chuàng)建媒體播放器mediaplayer,進入視頻播放準備狀態(tài)。
步驟914,媒體應用調(diào)用媒體服務接口創(chuàng)建解碼環(huán)境,對所述媒體數(shù)據(jù)進行解碼,生成所述處理結(jié)果。
在本申請實施中,應用媒體在進入播放準備狀態(tài)后,可以通過調(diào)用媒體服務接口連接第二媒體服務模塊,如多媒體服務器mediaserver,通過媒體服務模塊對所獲取到的媒體數(shù)據(jù)進行解碼,即創(chuàng)建解碼環(huán)境,從而可以生成解碼后的數(shù)據(jù)幀。在生成數(shù)據(jù)幀后,第二媒體服務模塊將所生成的數(shù)據(jù)幀傳輸?shù)降诙僮飨到y(tǒng)的第二圖形服務模塊,如第二操作系統(tǒng)的圖形服務器surfaceflinger,通過該第二圖形服務模塊將解碼后的數(shù)據(jù)幀合成圖形,從而可以基于所合成的圖形生成該媒體數(shù)據(jù)對應的處理結(jié)果,以在智能終端的顯示界面上展現(xiàn)該圖形
在本申請的一種優(yōu)選實施例中,媒體應用調(diào)用媒體服務接口創(chuàng)建解碼環(huán)境,對所述媒體數(shù)據(jù)進行解碼,生成所述處理結(jié)果,可以包括如下子步驟:
子步驟9141,媒體應用通過媒體接口向第二媒體服務模塊發(fā)送所獲取的媒體數(shù)據(jù)。
作為本申請的具體示例,媒體應用application可以通過媒體接口如mediaserver接口,連接第二操作系統(tǒng)的多媒體服務器mediaserver,將獲取到的媒體數(shù)據(jù)發(fā)送給該多媒體服務器mediaserver,觸發(fā)該多媒體服務器mediaserver對該媒體數(shù)據(jù)進行解碼。
子步驟9143,所述第二媒體服務模塊在接收到媒體數(shù)據(jù)后,對所述媒體數(shù)據(jù)進行解碼,生成數(shù)據(jù)幀,將所生成的數(shù)據(jù)幀發(fā)送給第二圖形服務模塊。
在本申請實施例中,第二媒體服務模塊在接收到媒體應用所發(fā)送的媒體數(shù)據(jù)后,可以對該媒體數(shù)據(jù)進行解碼,如對視頻數(shù)據(jù)或者音頻數(shù)據(jù)進行解碼,生成解碼后的數(shù)據(jù)幀。當媒體播放器初始化完成后,即在開始播放媒體數(shù)據(jù)時,第二媒體服務模塊將解碼后的數(shù)據(jù)幀輸送到第二操作系統(tǒng)的第二圖形服務模塊如第二操作系統(tǒng)的圖形服務器surfaceflinger,以進行合成。例如,在 播放視頻數(shù)據(jù)的過程中,第二操作系統(tǒng)的多媒體服務器mediaserver將解碼后的數(shù)據(jù)幀傳輸?shù)降诙僮飨到y(tǒng)的圖形服務器surfaceflinger,觸發(fā)第二操作系統(tǒng)的圖形服務器surfaceflinger對該數(shù)據(jù)幀進行合成,生成第二圖形信息。
子步驟9145,第二圖形服務模塊在接收到數(shù)據(jù)幀后,對所述數(shù)據(jù)幀進行合成,生成第二圖形信息,將所述第二圖形信息作為圖形處理結(jié)果。
具體的,第二圖形服務模塊在接收到數(shù)據(jù)幀后,可以在創(chuàng)建圖形標簽的時候,檢測控件標志符對應的接口是否存在第一操系統(tǒng)的控件標識符;若不存在,則按照第二操作系統(tǒng)正常的創(chuàng)建流程,生成第二操作系統(tǒng)的圖形信息,以在第二操作系統(tǒng)的媒體播放器播放媒體數(shù)據(jù);若存在第一操作系統(tǒng)的控件標識符,則以第一操作系統(tǒng)的控件標識符為參數(shù),通過系統(tǒng)接口(如waylandconnection接口)連接第一操系統(tǒng)的第一圖形服務模塊。在連接第一操系統(tǒng)的第一圖形服務模塊后,對解碼后的數(shù)據(jù)幀進行合成,即生成第二圖形信息,將第二圖形信息作為圖形處理結(jié)果,通過建立的連接將圖形處理結(jié)果傳送給第一圖形服務模塊。
在本申請的一種優(yōu)選實施例中,第二圖形服務模塊在接收到數(shù)據(jù)幀后,還包括:對控件標志符對應的接口進行監(jiān)聽;在監(jiān)聽到第一操作系統(tǒng)的控件標志符時,基于所述控件標志符連接第一操作系統(tǒng)的第一圖形服務模塊。
作為本申請實施例的一個具體示例,第二圖形服務模塊可以對控件標志符對應的接口clientid()進行監(jiān)聽,以檢測clientid()是否有值;如果clientid()為空,則按照guestos正常原有的創(chuàng)建流程對數(shù)據(jù)幀進行處理,以在guestos播放媒體數(shù)據(jù);如果clientid()不為空,則以第一操作系統(tǒng)的控件標志符clientid為參數(shù),通過waylandconnection接口連接第一操作系統(tǒng)的圖形服務器westonserver。
可選的,第二圖形服務模塊在接收到數(shù)據(jù)幀后,對所述數(shù)據(jù)幀進行合成,生成第二圖形信息,包括:在監(jiān)聽到第一操作系統(tǒng)的控件標志符時,判定所述數(shù)據(jù)幀屬于特殊編碼方式;對所述數(shù)據(jù)幀進行合成,生成第二圖形和所述第二圖形對應的句柄。
具體的,第二圖形服務模塊在監(jiān)聽到第一操作系統(tǒng)的控件標志符時,可 以判定其所接收到的數(shù)據(jù)幀為針對第一操作系統(tǒng)所發(fā)送的媒體處理請求所生成的數(shù)據(jù)幀,從而可以判定所述數(shù)據(jù)幀屬于特殊編碼方式。第二圖形服務模塊在確定數(shù)據(jù)屬于特殊編碼方式后,可以按照該特殊編碼方式對所述數(shù)據(jù)幀進行合成,生成第二圖形和所述第二圖形對應的句柄。其中,第二圖形對應的句柄可以用于控制第二圖形的顯示區(qū)域大小和顯示位置。例如,第二操作系統(tǒng)的圖形服務器surfaceflinger在檢測到第一操作系統(tǒng)的clientid時,可以根據(jù)視圖屬性如視頻視圖屬性videoview判斷所接收到的數(shù)據(jù)幀屬于特殊編碼方式,按照該特殊編碼方式對所述數(shù)據(jù)幀進行合成,生成子圖形subsurface和該子圖形subsurface對應的句柄texture。句柄texture用于控制子圖形subsurface的顯示區(qū)域大小size和顯示位置。
子步驟9147,媒體應用通過軟件開發(fā)包對所述媒體數(shù)據(jù)進行解析,生成播放狀態(tài)信息,將所生成的狀態(tài)信息作為狀態(tài)處理結(jié)果。
第二操作系統(tǒng)的媒體應用在創(chuàng)建媒體播放器后,還可以通過sdk對媒體數(shù)據(jù)進行解析,依據(jù)媒體數(shù)據(jù)的解析生產(chǎn)媒體播放器的播放狀態(tài)信息,如準備狀態(tài)數(shù)據(jù)和播放狀態(tài)數(shù)據(jù)等。其中,準備狀態(tài)數(shù)據(jù)指的是媒體播放器在初始化階段所生成的數(shù)據(jù),如初始化開始的消息、初始化完成的消息等,可以用于表示媒體播放器當前的準備狀態(tài)。播放狀態(tài)數(shù)據(jù)指的是媒體播放器在播放媒體數(shù)據(jù)過程中的狀態(tài)數(shù)據(jù),如顯示當前播放的進度、媒體播放時長等。媒體應用可以將媒體播放器的播放狀態(tài)信息作為狀態(tài)處理結(jié)果。
步驟916,第二操作系統(tǒng)將圖形處理結(jié)果和狀態(tài)處理結(jié)果反饋給第一操系統(tǒng)。
具體的,第二操作系統(tǒng)可以通過媒體應用,將所述狀態(tài)處理結(jié)果發(fā)送到網(wǎng)橋服務模塊;以及通過第二圖形服務模塊,將所述圖形處理結(jié)果發(fā)送到第一圖形服務模塊。作為本申請的一個具體示例,第二操作系統(tǒng)的媒體應用application可以通過ipc接口向第一操作系統(tǒng)的網(wǎng)橋服務模塊mediabridgeservice傳送狀態(tài)處理結(jié)果。此外,第二操作系統(tǒng)的圖形服務器surfaceflinger可以通過waylandconnection接口,向第一操作系統(tǒng)的的圖形服務器westonserver發(fā)送圖形處理結(jié)果,相當于基于雙向通信連接,向第一 操作系統(tǒng)發(fā)送圖形處理結(jié)果,如通過wayland協(xié)議向第一操作系統(tǒng)的第一圖形服務模塊傳送子圖形對應的句柄。
步驟918,第一操作系統(tǒng)基于所述處理結(jié)果對所述媒體數(shù)據(jù)進行響應。
具體的,第一操作系統(tǒng)可以通過網(wǎng)橋服務模塊,接收到第二操作系統(tǒng)所反饋的狀態(tài)處理結(jié)果;還可以通過圖形服務模塊,接收第二操作系統(tǒng)所反饋的圖形處理結(jié)果。在接收播放狀態(tài)出處理結(jié)果后,第一操作系統(tǒng)可以通過瀏覽器內(nèi)核對該狀態(tài)處理結(jié)果進行檢測,在檢測到該狀態(tài)處理結(jié)果包含準備準備狀態(tài)數(shù)據(jù)時,依據(jù)該準備狀態(tài)數(shù)據(jù)進入媒體播放模式?;诿襟w播放模式,第一操作系統(tǒng)通過瀏覽器內(nèi)核獲取第一圖形服務模塊所接收到的第二圖形對應的句柄,通過該句柄在第一圖形層成設置目標透明區(qū)域,采用目標透明區(qū)域以及網(wǎng)頁頁面其它內(nèi)容生成第一圖形的內(nèi)容,即生成第一圖形信息;通過調(diào)用第一圖形服務模塊將第一圖形信息生產(chǎn)第一圖形,將第二圖形合并到第一圖形的目標透明區(qū)域中,生成合成后的圖形,從而可以在第一圖形的目標顯示區(qū)域展現(xiàn)第二圖形,即對該媒體數(shù)據(jù)進行播放。
在本申請的一種優(yōu)選實施例中,第一操作系統(tǒng)基于所述處理結(jié)果對所述媒體數(shù)據(jù)進行播放,可以包括如下子步驟:
子步驟9181,網(wǎng)橋服務模塊將接收到的狀態(tài)處理結(jié)果轉(zhuǎn)發(fā)給瀏覽器內(nèi)核。
在本申請實施例中,網(wǎng)橋服務模塊在接收到第二操作系統(tǒng)所反饋的狀態(tài)處理結(jié)果后,可以將接收到的狀態(tài)處理結(jié)果轉(zhuǎn)發(fā)給瀏覽器內(nèi)核,觸發(fā)瀏覽器內(nèi)體對該狀態(tài)處理結(jié)果進行檢測,從而可以在第一操作系統(tǒng)中對媒體數(shù)據(jù)進行播放。
子步驟9183,瀏覽器內(nèi)核基于狀態(tài)處理結(jié)果,獲取第一圖形服務模塊所接收到的第二圖形對應的句柄,依據(jù)所述句柄確定目標透明區(qū)域,基于所述目標透明區(qū)域生成第一圖形的內(nèi)容,將所述第一圖形的內(nèi)容發(fā)送到第一圖形服務模塊。
在本申請的一種優(yōu)選實施例中,瀏覽器內(nèi)核基于狀態(tài)處理結(jié)果,獲取第一圖形服務模塊所接收到的第二圖形對應的句柄,具體可以包括:在檢測到 所述狀態(tài)處理結(jié)果包含準備狀態(tài)數(shù)據(jù)時,基于所述準備狀態(tài)數(shù)據(jù)進入媒體播放模式;在所述媒體播放模式下,獲取第一圖形服務模塊所接收到的第二圖形對應的句柄。
具體的,瀏覽器內(nèi)核可以對接收到的狀態(tài)處理結(jié)果進行檢測,從狀態(tài)處理結(jié)果中獲取媒體應用針對該媒體數(shù)據(jù)所生成的狀態(tài)數(shù)據(jù)。當提取到的狀態(tài)數(shù)據(jù)為準備狀態(tài)數(shù)據(jù)時,即在檢測到狀態(tài)處理結(jié)果包含準備狀態(tài)數(shù)據(jù)時,可以確定第二操作系統(tǒng)的媒體應用進入播放準備階段,進而進入媒體播放模式,準備播放媒體數(shù)據(jù)。瀏覽器內(nèi)核在媒體播放模擬式下,通過調(diào)用第一圖形服務模塊對應的接口,獲取第一圖形服務模塊所接收到的句柄。例如,瀏覽器內(nèi)核webengine通過第一操作系統(tǒng)的圖形服務器模塊westonserver獲取到子圖形subsurface的句柄texture。
在本申請實施例中,瀏覽器內(nèi)核依據(jù)句柄確定第二圖形對應的目標透明區(qū)域,具體可以包括:采用所述句柄確定所述第二圖形在第一圖形上對應的顯示位置和顯示區(qū)域大??;基于所述顯示位置和顯示區(qū)域大小,確定第二圖形在第一圖形上的顯示區(qū)域;將所述顯示區(qū)域設置為目標透明區(qū)域。
具體的,瀏覽器內(nèi)核可以依據(jù)句柄確定第二圖形在第一圖形層上對應的顯示區(qū)域大小,如第二圖形對應的播放窗口的大??;以及確定第二圖形在第一圖形層上的顯示位置,如確定播放窗口在網(wǎng)頁頁面中的顯示位置,依據(jù)所確定的顯示區(qū)域大小和顯示位置,確定一個矩形區(qū)域,將該矩形區(qū)域作為第二圖形在第一圖形上的顯示區(qū)域,并且把該矩形區(qū)域設置為透明顯示區(qū)域作為目標透明區(qū)域,即將第二圖形在第一圖形上的顯示區(qū)域設置為目標透明區(qū)域,以將第二圖形紡織到該目標透明區(qū)域中,實現(xiàn)在第一操作系統(tǒng)中對第二圖形進行展現(xiàn),即在第一操作系統(tǒng)中播放媒體數(shù)據(jù)。其中,顯示區(qū)域可以包括:目標播放器播放窗口、網(wǎng)頁播放窗口等,目標播播放器播放窗口指的是當前運行的播放器應用程序?qū)牟シ糯翱凇?/p>
在本申請的一種優(yōu)選實施例中,瀏覽器內(nèi)核在基于所述目標透明區(qū)域生成第一圖形的內(nèi)容之前,還包括:從所述狀態(tài)處理結(jié)果中提取播放狀態(tài)數(shù)據(jù);則所述基于所述目標透明區(qū)域生成第一圖形的內(nèi)容,包括:采用所述播放狀 態(tài)數(shù)據(jù)和目標透明區(qū)域生成第一圖形的內(nèi)容。
在本申請實施例中,瀏覽器內(nèi)核對狀態(tài)處理結(jié)果進行檢測,在狀態(tài)處理結(jié)果中包含媒體應用對應的播放狀態(tài)數(shù)據(jù)時,還可以從該狀態(tài)處理結(jié)果中提取播放狀態(tài)數(shù)據(jù),基于所提取播放狀態(tài)數(shù)據(jù)、目標透明區(qū)域等信息生成第一圖形的內(nèi)容,將所生成的第一圖形的內(nèi)容發(fā)送到第一圖形服務模塊,通過第一圖形服務模塊對第一圖形的內(nèi)容進行合成,以生成第一圖形。
子步驟9185,第一圖形服務模塊基于第一圖形的內(nèi)容生成第一圖形,在第一圖形的目標透明區(qū)域展現(xiàn)第二圖形,對所述媒體數(shù)據(jù)進行播放。
第一圖形服務模塊在接收到第一圖形的內(nèi)容后,可以依據(jù)第一圖形的內(nèi)容生產(chǎn)第一圖形,并且將第二圖形服務模塊所發(fā)送的第二圖形合并到第一圖形的目標透明區(qū)域中,生成合成后的圖形,從而可以在第一圖形的目標顯示區(qū)域展現(xiàn)第二圖形。智能終端的第一操作系統(tǒng)通過在顯示界面對合成后的圖形進行展現(xiàn),播放媒體數(shù)據(jù),實現(xiàn)了智能終端的媒體播放功能。
在本申請實施例中,智能終端的第一操作系統(tǒng)在檢測到無法處理媒體數(shù)據(jù)時,通過網(wǎng)橋服務模塊連接第二操作系統(tǒng),從而觸發(fā)第二操作系統(tǒng)啟動媒體應用對該媒體數(shù)據(jù)進行處理,生成處理結(jié)果,從而可以基于第二操作系統(tǒng)所生成的處理結(jié)果對媒體數(shù)據(jù)進行播放,實現(xiàn)智能終端的媒體播放功能。
實施例二
基于上述實施例,本實施例論述位于操作系統(tǒng)側(cè)的媒體數(shù)據(jù)播放方法和裝置。
參照圖10,示出了本申請實施例中基于第一操作系統(tǒng)的媒體數(shù)據(jù)播放方法,具體可以包括以下步驟:
步驟1002,基于用戶操作生成播放請求。
步驟1004,在所述媒體數(shù)據(jù)不符合預置的數(shù)據(jù)格式時,向第二操作系統(tǒng)發(fā)送媒體處理請求。
步驟1006,接收所述第二操作系統(tǒng)針對所述媒體處理請求反饋的處理結(jié)果,基于所述處理結(jié)果對所述媒體數(shù)據(jù)進行響應。
本實施例中,位于第一操作系統(tǒng)的媒體數(shù)據(jù)播放裝置可以接收到用戶操 作,以及基于用戶操作生成播放請求。其中,在所述播放請求包含媒體數(shù)據(jù)的源信息。具體的,通過檢測該媒體數(shù)據(jù)的源信息,可以確定該媒體數(shù)據(jù)是否符合預置的數(shù)據(jù)格式,即判斷第一操作系統(tǒng)是否可以對該媒體數(shù)據(jù)進行解析。當媒體數(shù)據(jù)不符合預置的數(shù)據(jù)格式時,該媒體數(shù)據(jù)播放裝置可以針對該媒體數(shù)據(jù)生成媒體處理請求,并發(fā)送給第二操作系統(tǒng),從而可以接收到第二操作系統(tǒng)針對所述媒體處理請求反饋的處理結(jié)果,基于該處理結(jié)果對媒體數(shù)據(jù)進行響應,即通過第二操作系統(tǒng)對該媒體數(shù)據(jù)進行解析,實現(xiàn)了對媒體數(shù)據(jù)的解析,從而可以對該媒體數(shù)據(jù)進行播放控制,實現(xiàn)媒體播放功能。
在本申請的一種優(yōu)選實施例中,該媒體數(shù)據(jù)播放方法,在生成播放請求之后還包括判斷所述媒體數(shù)據(jù)是否符合預置的數(shù)據(jù)格式的步驟,包括:從所述源信息中提取所述媒體數(shù)據(jù)對應的媒體標簽;基于所述媒體標簽判斷所述媒體數(shù)據(jù)是否符合預置的數(shù)據(jù)格式。
具體而言,播放請求模塊可以對媒體數(shù)據(jù)的源信息進行檢測,從源信息中提取所述媒體數(shù)據(jù)對應的媒體標簽,從而可以基于該媒體標簽確定該媒體數(shù)據(jù)對應的數(shù)據(jù)格式,以及判斷該媒體數(shù)據(jù)對應的數(shù)據(jù)格式是否符合預置的數(shù)據(jù)格式。當媒體數(shù)據(jù)對應的數(shù)據(jù)格式不符合預置的數(shù)據(jù)格式時,可以確定該媒體數(shù)據(jù)不符合預置的數(shù)據(jù)格式,即確定第一操作系統(tǒng)無法對該媒體數(shù)據(jù)進行解析。因此,媒體數(shù)據(jù)播放裝置可以針對該媒體數(shù)據(jù)生成媒體處理請求,并發(fā)送給第二操作系統(tǒng),通過第二操作系統(tǒng)對該媒體數(shù)據(jù)進行解析,從而完成該媒體數(shù)據(jù)的處理。
可選的,所述向第二操作系統(tǒng)發(fā)送媒體請求,具體可以包括以下子步驟:
子步驟10041,調(diào)用通信接口,基于所述控件標識符與第二操作系統(tǒng)建立雙向通信連接。
子步驟10043,基于所述雙向通信連接向第二操作系統(tǒng)發(fā)送所述媒體處理請求。
本實施例中,媒體數(shù)據(jù)播放裝置通過調(diào)用通信接口,從而可以連接第二操作系統(tǒng)。具體的,通過通信接口將第一操作系統(tǒng)的控件標識符傳輸給第二操作系統(tǒng),從而可以基于所述控件標識符建立第一操作系統(tǒng)與第二操作系統(tǒng) 之間的雙向通信連接,以及基于所述雙向通信連接向第二操作系統(tǒng)發(fā)送所述媒體處理請求;并且還可以基于該雙向通行連接接收第二操作系統(tǒng)反饋的處理結(jié)果。
在本申請的一種優(yōu)選實施例中,第二操作系統(tǒng)反饋的處理結(jié)果包括:狀態(tài)處理結(jié)果和圖像處理結(jié)果。其中,所述基于所述處理結(jié)果對所述媒體數(shù)據(jù)進行響應,可以包括如下子步驟:
子步驟10061,基于狀態(tài)處理結(jié)果,從圖像處理結(jié)果中獲取第二圖形對應的句柄。
子步驟10063,依據(jù)所述句柄確定目標透明區(qū)域,并基于所述目標透明區(qū)域生成第一圖形的內(nèi)容;
子步驟10065,基于第一圖形的內(nèi)容生成第一圖形;
子步驟10066,在第一圖形的目標透明區(qū)域展現(xiàn)第二圖形,對所述媒體數(shù)據(jù)進行播放控制。
本實施例中,媒體數(shù)據(jù)播放裝置可以基于狀態(tài)處理結(jié)果,從圖像處理結(jié)果中獲取第二圖形對應的句柄,以及依據(jù)所述句柄確定目標透明區(qū)域,并基于所述目標透明區(qū)域生成第一圖形的內(nèi)容;以及基于第一圖形的內(nèi)容生成第一圖形,從而可以在第一圖形的目標透明區(qū)域展現(xiàn)第二圖形,對所述媒體數(shù)據(jù)進行播放控制。
可選的,所述基于狀態(tài)處理結(jié)果,從圖像處理結(jié)果中獲取第二圖形對應的句柄,具體可以包括:在檢測到所述狀態(tài)處理結(jié)果包含準備狀態(tài)數(shù)據(jù)時,基于所述準備狀態(tài)數(shù)據(jù)進入媒體播放模式;在所述媒體播放模式下,從圖像處理結(jié)果中獲取第二圖形對應的句柄。具體而言,位于第一操作系統(tǒng)中的媒體數(shù)據(jù)播放裝置在接收到狀態(tài)處理結(jié)果后,可以對狀態(tài)處理結(jié)果進行檢測,當檢測到狀態(tài)處理結(jié)果包含準備狀態(tài)數(shù)據(jù)時,可以確定第二操作系統(tǒng)已經(jīng)創(chuàng)建解碼環(huán)境并完成初始化,進而基于所述準備狀態(tài)數(shù)據(jù)進入媒體播放模式,以及在媒體播放模式下,從圖像處理結(jié)果中獲取第二圖形對應的句柄,從而可以依據(jù)該句柄確定媒體數(shù)據(jù)對應的顯示區(qū)域。
可選的,該媒體數(shù)據(jù)播放裝置在基于所述目標透明區(qū)域生成第一圖形的 內(nèi)容之前,還可以從所述狀態(tài)處理結(jié)果中提取播放狀態(tài)數(shù)據(jù),從而可以采用所述播放狀態(tài)數(shù)據(jù)和目標透明區(qū)域生成第一圖形的內(nèi)容。在本實施例中,媒體數(shù)據(jù)播放裝置可以位于操作系統(tǒng)中,具體可以位于上述任一實施例中的第一操作系統(tǒng)中。
參照圖11,示出了本申請實施例的一種媒體數(shù)據(jù)播放裝置的結(jié)構(gòu)框圖,具體可以包括如下模塊:
播放請求模塊1102,用于基于用戶操作生成播放請求,所述播放請求包含媒體數(shù)據(jù)的源信息;
處理請求模塊1104,用于在所述媒體數(shù)據(jù)不符合預置的數(shù)據(jù)格式時,向第二操作系統(tǒng)發(fā)送媒體處理請求
媒體響應模塊1106,用于基于第二操作系統(tǒng)針對所述媒體處理請求反饋的處理結(jié)果對所述媒體數(shù)據(jù)進行響應。
在本申請的一種優(yōu)選實施例中,所述媒體數(shù)據(jù)播放裝置,還可以包括如下模塊:
標簽提取模塊1108,用于從所述源信息中提取所述媒體數(shù)據(jù)對應的媒體標簽。
媒體判斷模塊1110,用于基于所述媒體標簽判斷所述媒體數(shù)據(jù)是否符合預置的數(shù)據(jù)格式。
標志符獲取模塊1112,用于通過系統(tǒng)接口獲取第一操作系統(tǒng)的控件標志符。
參數(shù)信息確定模塊1114,用于將所述控件標志符和源信息作為所述媒體數(shù)據(jù)對應的參數(shù)信息。
其中,處理請求模塊1104,用于依據(jù)所述媒體數(shù)據(jù)對應的參數(shù)信息生成媒體處理請求,以及向第二操作系統(tǒng)發(fā)送媒體請求。
在本申請的一種優(yōu)選實施例中,所述處理請求模塊1104,可以包括如下子模塊:
通信建立子模塊11041,用于調(diào)用通信接口,基于所述控件標識符與第二操作系統(tǒng)建立雙向通信連接。
處理請求發(fā)送子模塊11043,用于基于所述雙向通信連接向第二操作系統(tǒng)發(fā)送所述媒體處理請求。
本實施例中,第二操作系統(tǒng)反饋的處理結(jié)果可以包括:狀態(tài)處理結(jié)果和圖像處理結(jié)果。媒體響應模塊1106,可以包括如下子模塊:
句柄獲取子模塊11061,用于基于狀態(tài)處理結(jié)果,從圖像處理結(jié)果中獲取第二圖形對應的句柄。
內(nèi)容生成子模塊11063,用于依據(jù)所述句柄確定目標透明區(qū)域,并基于所述目標透明區(qū)域生成第一圖形的內(nèi)容。
圖形生成子模塊11065,用于基于第一圖形的內(nèi)容生成第一圖形。
響應子模塊11067,用于在第一圖形的目標透明區(qū)域展現(xiàn)第二圖形,對所述媒體數(shù)據(jù)進行播放控制。
可選的,所述句柄獲取子模塊11061,具體可以用于在檢測到所述狀態(tài)處理結(jié)果包含準備狀態(tài)數(shù)據(jù)時,基于所述準備狀態(tài)數(shù)據(jù)進入媒體播放模式;以及,在所述媒體播放模式下,從圖像處理結(jié)果中獲取第二圖形對應的句柄。
可選的,所述媒體響應模塊1106,還可以包括:狀態(tài)數(shù)據(jù)提取子模塊11069,用于從所述狀態(tài)處理結(jié)果中提取播放狀態(tài)數(shù)據(jù)。內(nèi)容生成子模塊11065,具體可以用于采用所述播放狀態(tài)數(shù)據(jù)和目標透明區(qū)域生成第一圖形的內(nèi)容。
參照圖12,示出了本申請實施例中基于第二操作系統(tǒng)的媒體數(shù)據(jù)播放方法,具體可以包括以下步驟:
步驟1202,接收第一操作系統(tǒng)發(fā)送的媒體處理請求。
步驟1204,依據(jù)所述媒體處理請求對媒體數(shù)據(jù)進行處理,生成處理結(jié)果。
步驟1206,將所述處理結(jié)果反饋給第一操作系統(tǒng)。
從而使得第一操作系統(tǒng)可以基于處理結(jié)果對媒體數(shù)據(jù)進行播放控制,滿足用戶的播放需求,提高用戶體檢。
在本申請的一種優(yōu)選實施例中,依據(jù)所述媒體處理請求對媒體數(shù)據(jù)進行處理,生成處理結(jié)果,可以包括如下子步驟:
子步驟12031,用于基于所述媒體處理請求,啟動應用包名對應的媒體應用。其中,所述應用包名依據(jù)媒體處理請求所攜帶媒體數(shù)據(jù)的源信息確定。
子步驟12033,通過所述媒體應用響應所述媒體處理請求,生成所述媒體數(shù)據(jù)對應的處理結(jié)果。
可選的,通過所述媒體應用響應所述媒體處理請求,生成所述媒體數(shù)據(jù)對應的處理結(jié)果,具體可以包括:依據(jù)所述媒體處理請求攜帶的源信息獲取對應的媒體數(shù)據(jù);對所述媒體數(shù)據(jù)進行解碼,生成數(shù)據(jù)幀;對所述數(shù)據(jù)幀進行合成,生成第二圖形信息,并將所述第二圖形信息作為圖形處理結(jié)果。
在本申請的一種優(yōu)選實施例中,所述生成所述媒體數(shù)據(jù)對應的處理結(jié)果,還包括:對控件標志符對應的接口進行監(jiān)聽。其中,所述對所述數(shù)據(jù)幀進行合成,生成第二圖形信息,包括:在監(jiān)聽到第一操作系統(tǒng)的控件標志符時,判定所述數(shù)據(jù)幀屬于特殊編碼方式;對所述數(shù)據(jù)幀進行合成,生成第二圖形和所述第二圖形對應的句柄。
在本申請的一種優(yōu)選實施例中,通過所述媒體應用響應所述媒體處理請求,生成所述媒體數(shù)據(jù)對應的處理結(jié)果,還可以包括:媒體應用通過軟件開發(fā)包對所述媒體數(shù)據(jù)進行解析,生成播放狀態(tài)信息;將所生成的播放狀態(tài)信息作為狀態(tài)處理結(jié)果。
可選的,所述將所述處理結(jié)果反饋給第一操作系統(tǒng),包括:基于所述雙向通信連接,分別將狀態(tài)處理結(jié)果圖形和處理結(jié)果發(fā)送給第一操作系統(tǒng)。
參照圖13,示出了本實施例的另一種媒體數(shù)據(jù)播放裝置的結(jié)構(gòu)框圖,具體可以包括以下模塊:
接收模塊1302,用于接收第一操作系統(tǒng)發(fā)送的媒體處理請求;
媒體處理模塊1304,用于依據(jù)所述媒體處理請求對媒體數(shù)據(jù)進行處理,生成處理結(jié)果;
反饋模塊1306,用于將所述處理結(jié)果反饋給第一操作系統(tǒng)
在本實施例的媒體數(shù)據(jù)播放裝置也可以位操作系統(tǒng),具體可以位于上述任一實施例中的第二操作系統(tǒng)中。
可選的,所述媒體處理模塊1304,包括以下子模塊:
應用啟動子模塊13041,用于基于所述媒體處理請求,啟動應用包名對應的媒體應用。其中,所述應用包名依據(jù)媒體處理請求所攜帶媒體數(shù)據(jù)的源信息確定。
結(jié)果生成子模塊13042,用于通過所述媒體應用響應所述媒體處理請求,生成所述媒體數(shù)據(jù)對應的處理結(jié)果。
可選的,所述結(jié)果生成子模塊13042,可以包括以下單元:
媒體數(shù)據(jù)獲取單元,用于依據(jù)所述媒體處理請求攜帶的源信息獲取對應的媒體數(shù)據(jù)。
媒體數(shù)據(jù)解碼單元,用于對所述媒體數(shù)據(jù)進行解碼,生成數(shù)據(jù)幀。
圖形結(jié)果生成單元,用于對所述數(shù)據(jù)幀進行合成,生成第二圖形信息,并將所述第二圖形信息作為圖形處理結(jié)果。
在本申請的一種優(yōu)選實施例中,結(jié)果生成子模塊13042,還可以包括以下單元:
監(jiān)聽子單元,用于對控件標志符對應的接口進行監(jiān)聽。
編碼判定單元,用于在監(jiān)聽到第一操作系統(tǒng)的控件標志符時,判定所述數(shù)據(jù)幀屬于特殊編碼方式。
其中,數(shù)據(jù)幀合成單元,具體用于對所述數(shù)據(jù)幀進行合成,生成第二圖形和所述第二圖形對應的句柄。
媒體數(shù)據(jù)解析單元,用于媒體應用通過軟件開發(fā)包對所述媒體數(shù)據(jù)進行解析,生成播放狀態(tài)信息;
狀態(tài)結(jié)果生成單元,用于將所生成的播放狀態(tài)信息作為狀態(tài)處理結(jié)果。
在本申請的一種優(yōu)選實施例中,所述反饋模塊1306,具體用于基于所述雙向通信連接,將狀態(tài)處理結(jié)果和圖形處理結(jié)果發(fā)送給第一操作系統(tǒng)。。
需要說明的是,對于方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術(shù)人員應該知悉,本申請實施例并不受所描述的動作順序的限制,因為依據(jù)本申請實施例,某些步驟可以采用其他順序或者同時進行。其次,本領域技術(shù)人員也應該知悉,說明書中所描述的實施例 均屬于優(yōu)選實施例,所涉及的動作并不一定是本申請實施例所必須的。
在上述實施例的基礎上,本實施例還公開了一種智能終端。
參照圖14,示出了本申請實施例的又一種智能終端的結(jié)構(gòu)框圖。具體的,該智能終端1400包括:存儲器1410、顯示器1420、處理器1430和輸入單元1440。
其中,該輸入單元1440可用于接收用戶輸入的數(shù)字或字符信息,以及控制信號。具體地,本申請實施例中,該輸入單元1440可以包括觸摸屏1441,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸摸屏1441上的操作),并根據(jù)預先設定的程式驅(qū)動相應的連接裝置。當然,除了觸摸屏1441,輸入單元1440還可以包括其他輸入設備,如物理鍵盤、功能鍵(比如音量控制按鍵、開關(guān)按鍵等)、鼠標等。
顯示器1420包括顯示面板,可選的,可以采用液晶顯示器(liquidcrystaldisplay,lcd)或有機發(fā)光二極管(organiclight-emittingdiode,oled)等形式來配置顯示面板。其中,觸摸屏可以覆蓋顯示面板,形成觸摸顯示屏,當該觸摸顯示屏檢測到在其上或附近的觸摸操作后,傳送給處理器1430以執(zhí)行相應的處理。
在本申請實施例中,通過調(diào)用存儲該存儲器1410內(nèi)的軟件程序,和/或,模塊,和/或,數(shù)據(jù),處理器1430用于第一操作系統(tǒng)通過調(diào)用通信接口向所述第二操作系統(tǒng)發(fā)送媒體處理請求;第二操作系統(tǒng)接收到媒體處理請求后,依據(jù)所述媒體處理請求對媒體數(shù)據(jù)進行處理,生成處理結(jié)果,將所述處理結(jié)果反饋給第一操作系統(tǒng);第一操作系統(tǒng)接收到所述處理結(jié)果,基于所述處理結(jié)果對所述媒體數(shù)據(jù)進行響應。
可選的,處理器1430還用于第一操作系統(tǒng)的瀏覽器內(nèi)核基于用戶操作生成的播放請求,所述播放請求包含所述媒體數(shù)據(jù)的源信息;以及第一操作系統(tǒng)依據(jù)所述播放請求檢測媒體數(shù)據(jù)的源信息,當?shù)谝徊僮飨到y(tǒng)檢測到無法處理所述媒體數(shù)據(jù)時,執(zhí)行向第二操作系統(tǒng)發(fā)送媒體處理請求的步驟。
可選的,所述源信息包括媒體標簽,第一操作系統(tǒng)依據(jù)所述播放請求檢 測媒體數(shù)據(jù)的源信息,包括:所述瀏覽器內(nèi)核從源信息中提取所述媒體數(shù)據(jù)對應的媒體標簽;基于所述媒體標簽判斷所述媒體數(shù)據(jù)是否符合預置的數(shù)據(jù)格式;在所述媒體數(shù)據(jù)不符合預置的數(shù)據(jù)格式時,確定第一操作系統(tǒng)無法處理所述媒體數(shù)據(jù)。
可選的,所述第一操作系統(tǒng)通過通信接口向所述第二操作系統(tǒng)發(fā)送媒體處理請求,包括:瀏覽器內(nèi)核向所述第一操作系統(tǒng)的網(wǎng)橋服務模塊發(fā)送所述媒體數(shù)據(jù)對應的參數(shù)信息;網(wǎng)橋服務模塊在接收到所述參數(shù)信息后,依據(jù)所述參數(shù)信息生成媒體處理請求,調(diào)用通信接口向所述第二操作系統(tǒng)發(fā)送媒體處理請求。
可選的,所述瀏覽器內(nèi)核在向網(wǎng)橋服務模塊發(fā)送所述媒體數(shù)據(jù)對應的參數(shù)信息之前,還包括:通過系統(tǒng)接口獲取第一操作系統(tǒng)的控件標志符;將所述控件標志符和源信息作為所述參數(shù)信息。
可選的,網(wǎng)橋服務模塊依據(jù)所述參數(shù)信息生成媒體處理請求,包括:從所述參數(shù)信息中提取源信息,基于所述源信息確定應用包名,所述應用包名用于確定處理所述媒體數(shù)據(jù)的媒體應用;采用所述參數(shù)信息以及應用包名,生成所述媒體處理請求。
可選的,網(wǎng)橋服務模塊調(diào)用通信接口向所述第二操作系統(tǒng)發(fā)送媒體處理請求,包括:調(diào)用所述通信接口,基于所述控件標識符與第二操作系統(tǒng)建立雙向通信連接;基于所述雙向通信連接向第二操作系統(tǒng)發(fā)送所述媒體處理請求。
可選的,第二操作系統(tǒng)依據(jù)所述媒體處理請求對媒體數(shù)據(jù)進行處理,生成處理結(jié)果,包括:基于所述媒體處理請求,啟動所述應用包名對應的媒體應用;通過所述媒體應用響應所述媒體處理請求,生成所述媒體數(shù)據(jù)對應的處理結(jié)果。
可選的,通過所述媒體應用響應所述媒體處理請求,生成所述媒體數(shù)據(jù)對應的處理結(jié)果,包括:媒體應用依據(jù)所述源信息獲取媒體處理請求對應的媒體數(shù)據(jù);媒體應用調(diào)用媒體服務接口創(chuàng)建解碼環(huán)境,對所述媒體數(shù)據(jù)進行解碼,生成所述處理結(jié)果。
可選的,媒體應用調(diào)用媒體服務接口創(chuàng)建解碼環(huán)境,對所述媒體數(shù)據(jù)進行解碼,生成所述處理結(jié)果,包括:媒體應用通過媒體接口向第二媒體服務模塊發(fā)送所獲取的媒體數(shù)據(jù);所述第二媒體服務模塊在接收到媒體數(shù)據(jù)后,對所述媒體數(shù)據(jù)進行解碼,生成數(shù)據(jù)幀,將所生成的數(shù)據(jù)幀發(fā)送給第二圖形服務模塊;第二圖形服務模塊在接收到數(shù)據(jù)幀后,對所述數(shù)據(jù)幀進行合成,生成第二圖形信息,將所述第二圖形信息作為圖形處理結(jié)果。
可選的,第二圖形服務模塊在接收到數(shù)據(jù)幀后,還包括:對控件標志符對應的接口進行監(jiān)聽;在監(jiān)聽到第一操作系統(tǒng)的控件標志符時,基于所述控件標志符連接第一操作系統(tǒng)的第一圖形服務模塊。
可選的,所述第二圖形服務模塊在接收到數(shù)據(jù)幀后,對所述數(shù)據(jù)幀進行合成,生成第二圖形信息,包括:在監(jiān)聽到第一操作系統(tǒng)的控件標志符時,判定所述數(shù)據(jù)幀屬于特殊編碼方式;對所述數(shù)據(jù)幀進行合成,生成第二圖形和所述第二圖形對應的句柄。
可選的,媒體應用調(diào)用媒體服務接口創(chuàng)建解碼環(huán)境,對所述媒體數(shù)據(jù)進行解碼,生成所述處理結(jié)果,還包括:所述媒體應用通過軟件開發(fā)包對所述媒體數(shù)據(jù)進行解析,生成播放狀態(tài)信息,將所生成的播放狀態(tài)信息作為狀態(tài)處理結(jié)果。
可選的,第二操作系統(tǒng)將所述處理結(jié)果反饋給第一操作系統(tǒng),包括:媒體應用將所述狀態(tài)處理結(jié)果發(fā)送到網(wǎng)橋服務模塊;第二圖形服務模塊將所述圖形處理結(jié)果發(fā)送到第一圖形服務模塊。
可選的,第一操作系統(tǒng)基于所述處理結(jié)果對所述媒體數(shù)據(jù)進行響應,包括:網(wǎng)橋服務模塊將接收到的狀態(tài)處理結(jié)果轉(zhuǎn)發(fā)給瀏覽器內(nèi)核;瀏覽器內(nèi)核基于狀態(tài)處理結(jié)果,獲取第一圖形服務模塊所接收到的第二圖形對應的句柄,依據(jù)所述句柄確定目標透明區(qū)域,基于所述目標透明區(qū)域生成第一圖形的內(nèi)容,將所述第一圖形的內(nèi)容發(fā)送到第一圖形服務模塊;第一圖形服務模塊基于第一圖形的內(nèi)容生成第一圖形,在第一圖形的目標透明區(qū)域展現(xiàn)第二圖形,對所述媒體數(shù)據(jù)進行播放控制。
可選的,所述瀏覽器內(nèi)核基于狀態(tài)處理結(jié)果,獲取第一圖形服務模塊所 接收到的第二圖形對應的句柄,包括:在檢測到所述狀態(tài)處理結(jié)果包含準備狀態(tài)數(shù)據(jù)時,基于所述準備狀態(tài)數(shù)據(jù)進入媒體播放模式;在所述媒體播放模式下,獲取第一圖形服務模塊所接收到的第二圖形對應的句柄。
可選的,瀏覽器內(nèi)核在基于所述目標透明區(qū)域生成第一圖形的內(nèi)容之前,還包括:從所述狀態(tài)處理結(jié)果中提取播放狀態(tài)數(shù)據(jù);則所述基于所述目標透明區(qū)域生成第一圖形的內(nèi)容,包括:采用所述播放狀態(tài)數(shù)據(jù)和目標透明區(qū)域生成第一圖形的內(nèi)容。
可選的,瀏覽器內(nèi)核依據(jù)所述句柄確定第二圖形對應的目標透明區(qū)域,包括:采用所述句柄確定所述第二圖形在第一圖形上對應的顯示位置和顯示區(qū)域大?。换谒鲲@示位置和顯示區(qū)域大小,確定第二圖形在第一圖形上的顯示區(qū)域;將所述顯示區(qū)域設置為目標透明區(qū)域。
可選的,所述顯示區(qū)域包括:目標播放器播放窗口。
對于裝置實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。
本領域內(nèi)的技術(shù)人員應明白,本申請實施例的實施例可提供為方法、裝置、或計算機程序產(chǎn)品。因此,本申請實施例可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請實施例可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學存儲器等)上實施的計算機程序產(chǎn)品的形式。
本申請實施例是參照根據(jù)本申請實施例的方法、終端設備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理終端設備的處理器以產(chǎn)生 一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理終端設備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導計算機或其他可編程數(shù)據(jù)處理終端設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理終端設備上,使得在計算機或其他可編程終端設備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程終端設備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
盡管已描述了本申請實施例的優(yōu)選實施例,但本領域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實施例以及落入本申請實施例范圍的所有變更和修改。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者終端設備中還存在另外的相同要素。
以上對本申請所提供的一種媒體數(shù)據(jù)播放方法和裝置、基于智能終端的媒體數(shù)據(jù)播放方法和一種智能終端,進行了詳細介紹,本文中應用了具體個 例對本申請的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本申請的方法及其核心思想;同時,對于本領域的一般技術(shù)人員,依據(jù)本申請的思想,在具體實施方式及應用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應理解為對本申請的限制。