本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種網(wǎng)頁播放器的調(diào)用方法、多媒體文件的播放方法和裝置。
背景技術(shù):
網(wǎng)頁播放器是指在網(wǎng)頁瀏覽器窗口中使用網(wǎng)頁技術(shù)(如html、javascript、flash、css等)和瀏覽器播放插件(wmp音樂播放插件、flash音樂播放插件、QQ音樂播放插件、html5audio等)實(shí)現(xiàn)的播放器。
現(xiàn)有技術(shù)中的一種實(shí)現(xiàn)方式是每一個網(wǎng)頁各自采用一個網(wǎng)頁播放器來播放音頻,但是,這會導(dǎo)致多個網(wǎng)頁播放器同時播放音頻的問題,進(jìn)而帶來同一時刻有多個音源的問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種網(wǎng)頁播放器的調(diào)用方法、多媒體文件的播放方法和裝置,能夠避免同一時刻有多個音源的問題。
第一方面,本發(fā)明實(shí)施例提供一種網(wǎng)頁播放器的調(diào)用方法,包括:
在本地緩存中創(chuàng)建第一標(biāo)記位,所述第一標(biāo)記位用于在網(wǎng)頁播放器打開時取值由初始值更改為目標(biāo)值,在網(wǎng)頁播放器關(guān)閉時取值更改為所述初始值;
當(dāng)接收到對多媒體文件的播放請求時,檢查所述第一標(biāo)記位的當(dāng)前值;
當(dāng)確定所述第一標(biāo)記位的當(dāng)前值為所述目標(biāo)值時,發(fā)出第一調(diào)用指令,以便多媒體播放裝置根據(jù)所述第一調(diào)用指令獲取所述多媒體文件的文件信息,并調(diào)用所述多媒體播放裝置中當(dāng)前打開的網(wǎng)頁播放器根據(jù)所述文件信息播放所述多媒體文件。
第二方面,本發(fā)明實(shí)施例提供一種網(wǎng)頁多媒體文件的播放方法,所述方法包括:
接收到第一調(diào)用指令時,根據(jù)所述第一調(diào)用指令獲取待播放的多媒體文件的文件信息,所述第一調(diào)用指令還用于指示當(dāng)前存在打開的網(wǎng)頁播放器;
根據(jù)所述文件信息調(diào)用當(dāng)前打開的網(wǎng)頁播放器播放所述多媒體文件。
第三方面,本發(fā)明實(shí)施例提供一種網(wǎng)頁播放器的調(diào)用裝置,包括:
創(chuàng)建模塊,用于在本地緩存中創(chuàng)建第一標(biāo)記位,所述第一標(biāo)記位用于在網(wǎng)頁播放器打開時取值由初始值更改為目標(biāo)值,在網(wǎng)頁播放器關(guān)閉時取值更改為所述初始值;
檢查模塊,用于當(dāng)接收到對多媒體文件的播放請求時,檢查所述第一標(biāo)記位的當(dāng)前值;
第一調(diào)用模塊,用于當(dāng)確定所述第一標(biāo)記位的當(dāng)前值為所述目標(biāo)值時,發(fā)出第一調(diào)用指令,以便多媒體播放裝置根據(jù)所述第一調(diào)用指令獲取所述多媒體文件的文件信息,并調(diào)用所述多媒體播放裝置中當(dāng)前打開的網(wǎng)頁播放器根據(jù)所述文件信息播放所述多媒體文件。
第一方面,本發(fā)明實(shí)施例提供一種網(wǎng)頁多媒體文件的播放裝置,所述裝置包括:
接收模塊,用于接收到第一調(diào)用指令時,根據(jù)所述第一調(diào)用指令獲取待播放的多媒體文件的文件信息,所述第一調(diào)用指令還用于指示當(dāng)前存在打開的網(wǎng)頁播放器;
播放模塊,用于根據(jù)所述文件信息調(diào)用當(dāng)前打開的網(wǎng)頁播放器播放所述多媒體文件。
從以上技術(shù)方案可以看出,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn):
本發(fā)明中,通過在本地緩存中創(chuàng)建第一標(biāo)記位,該第一標(biāo)記位用于在網(wǎng)頁播放器打開時取值由初始值更改為目標(biāo)值,在網(wǎng)頁播放器關(guān)閉時取值更改為所述初始值,這樣,當(dāng)接收到對多媒體文件的播放器請求時,可以通過檢查該第一標(biāo)記位的當(dāng)前值來確認(rèn)當(dāng)前是否有打開的網(wǎng)頁播放器,如果有,發(fā)出第一調(diào)用指令,以便播放系統(tǒng)可以根據(jù)該第一調(diào)用指令調(diào)用當(dāng)前打開的網(wǎng)頁播放器來播放多媒體文件,實(shí)現(xiàn)了同一時刻只有一個網(wǎng)頁播放器播放多媒體文件,避免了同一時刻有多個音源的問題。
附圖說明
圖1為本發(fā)明的網(wǎng)頁播放器的調(diào)用方法的一個實(shí)施例的結(jié)構(gòu)示意圖;
圖2為本發(fā)明的網(wǎng)頁多媒體文件的播放方法的一種實(shí)施例的流程示意圖;
圖3為本發(fā)明的網(wǎng)頁播放器的調(diào)用方法的另一個實(shí)施例的結(jié)構(gòu)示意圖;
圖4為本發(fā)明的網(wǎng)頁播放器的播放方法的一個實(shí)施例流程示意圖;
圖5為本發(fā)明的網(wǎng)頁播放器的調(diào)用裝置的一個實(shí)施例的結(jié)構(gòu)示意圖;
圖6為本發(fā)明的網(wǎng)頁播放器的調(diào)用裝置的另一個實(shí)施例的結(jié)構(gòu)示意圖;
圖7為本發(fā)明的網(wǎng)頁多媒體文件的播放裝置的一個實(shí)施例的結(jié)構(gòu)示意圖;
圖8為本發(fā)明的終端的一個實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施方式
請參閱圖1,圖1為本發(fā)明的網(wǎng)頁播放器的調(diào)用方法的一個實(shí)施例的結(jié)構(gòu)示意圖。本實(shí)施例中,網(wǎng)頁播放器的調(diào)用方法包括:
101、在本地緩存中創(chuàng)建第一標(biāo)記位,所述第一標(biāo)記位用于在網(wǎng)頁播放器打開時取值由初始值更改為目標(biāo)值,在網(wǎng)頁播放器關(guān)閉時取值更改為所述初始值。
本實(shí)施例中,客戶端中的瀏覽器在本地緩存中創(chuàng)建第一標(biāo)記位,其中,該客戶端可以是手機(jī)、電腦、平板電腦或者其他可以使用瀏覽器的用戶設(shè)備,在此不作限制。該本地緩存可以是客戶端中的本地存儲、閃存(flash)、瀏覽器緩存等等,在此不作限制。優(yōu)選的,本實(shí)施例中,在本地存儲中創(chuàng)建第一標(biāo)記位,這樣第一標(biāo)記位的存儲較為穩(wěn)定。具體舉例來說,在使用超級文本標(biāo)記語言(英文全稱:Hyper Text Markup Language,英文縮寫:HTML)5的瀏覽器中,本地緩存包括HTML5中所提供的兩種數(shù)據(jù)存儲,一種是在localStorage(也即沒有時間限制的數(shù)據(jù)存儲),一種是在sessionStorage(也即針對一個session的數(shù)據(jù)存儲)。在HTML5中,該本地存儲指的是localStorage,在使用低于HTML5的瀏覽器中該本地存儲指的是userDater。
具體的,瀏覽器在網(wǎng)頁播放器未打開時創(chuàng)建第一標(biāo)記位后,該第一標(biāo)記位的初始值為FALSE,或者初始值為0。該第一標(biāo)記位的初始值用于指示當(dāng)前沒有打開的網(wǎng)頁播放器。這樣,在網(wǎng)頁播放器打開時,該第一標(biāo)記位的值會被更改為目標(biāo)值。具體的,瀏覽器確定要播放多媒體文件時,調(diào)用多媒體播放裝置,該多媒體播放裝置為客戶端內(nèi)用于播放多媒體文件的裝置,例如,該多媒體播放裝置為安裝在客戶端內(nèi)的網(wǎng)頁播放插件。多媒體播放裝置被調(diào)用后打開客戶端內(nèi)系統(tǒng)自帶的網(wǎng)頁播放器來播放多媒體文件。其中,多媒體播放裝置在打開網(wǎng)頁播放器時,將該第一標(biāo)記位的值更改為目標(biāo)值。
當(dāng)然,實(shí)際應(yīng)用中,也可以是由其他裝置來更改該第一標(biāo)記位的值,在此不作限制。這樣,可以通過該第一標(biāo)記位的當(dāng)前值來判斷當(dāng)前是否有網(wǎng)頁播放器打開。具體的,該第一標(biāo)記位的目標(biāo)值可以是TRUE或者1,在此不作限制。
102、當(dāng)接收到對多媒體文件的播放請求時,檢查所述第一標(biāo)記位的當(dāng)前值。
瀏覽器當(dāng)前有頁面打開時,當(dāng)接收到用戶對頁面上的某個多媒體文件(例如音頻或者視頻)的標(biāo)識的點(diǎn)擊時,確定接收到對多媒體文件的播放請求。在接收到該播放請求時,檢查第一標(biāo)記位的當(dāng)前值,以查詢當(dāng)前是否有網(wǎng)頁播放器打開。
可選的,在接收到播放請求時,還根據(jù)該播放請求獲取該多媒體文件的文件信息,并將該文件信息寫入本地緩存中。
頁面被打開時,該瀏覽器會向服務(wù)器請求該頁面的內(nèi)容,并將頁面內(nèi)容緩存在瀏覽器緩存內(nèi),其中,頁面內(nèi)的多媒體文件的文件信息會以js變量的形式存在頁面內(nèi)容中。當(dāng)接收到播放請求時,根據(jù)該播放請求在緩存的頁面內(nèi)容獲取所請求的多媒體文件的文件信息。其中,該多媒體文件的文件信息用于描述該多媒體文件。舉例來說,該多媒體文件為單曲,該多媒體文件的文件信息包括單曲的身份標(biāo)識(英文全稱:Identity,英文縮寫:ID)、單曲名、歌手ID、歌手名、專輯ID、專輯名、單曲時長、單曲權(quán)限、單曲所有的品質(zhì)標(biāo)記等等。
瀏覽器調(diào)用多媒體播放裝置播放多媒體文件時,多媒體播放裝置需獲取到該多媒體文件的文件信息,以便多媒體播放裝置所打開的網(wǎng)頁播放器根據(jù)該文件信息播放多媒體文件。由于瀏覽器緩存所緩存的頁面內(nèi)容中的多媒體文件的文件信息僅能被頁面訪問,多媒體播放裝置無法訪問到該文件信息。因此,獲取到多媒體文件的文件信息后將該文件信息寫入到本地緩存中,這樣,多媒體播放裝置可以從本地緩存中直接獲取該多媒體文件的文件信息,而不需要從服務(wù)器獲取,避免增加額外的網(wǎng)絡(luò)請求。
103、當(dāng)確定所述第一標(biāo)記位的當(dāng)前值為所述目標(biāo)值時,發(fā)出第一調(diào)用指令,以便多媒體播放裝置根據(jù)所述第一調(diào)用指令獲取所述多媒體文件的文件信息,并調(diào)用當(dāng)前打開的網(wǎng)頁播放器根據(jù)所述文件信息播放所述多媒體文件。
當(dāng)瀏覽器確定第一標(biāo)記位的當(dāng)前值為所述目標(biāo)值,即可確定當(dāng)前有已經(jīng)打開的網(wǎng)頁播放器,那么發(fā)出第一調(diào)用指令。其中,發(fā)出第一調(diào)用指令的方法有多種。例如,通過發(fā)布o(jì)nstorage事件來發(fā)出第一調(diào)用指令。
onstorage事件是本地緩存自帶的事件。在有網(wǎng)頁播放器打開的情況下,若有多媒體文件的信息寫入本地緩存中,會觸發(fā)本地緩存發(fā)布o(jì)nstorage事件。而且只有多媒體播放裝置中的當(dāng)前打開的網(wǎng)頁播放器能夠監(jiān)聽到該onstorage事件,確定有多媒體文件待播放。其中,該onstorage事件中攜帶有所述多媒體文件的文件信息在本地緩存中的存儲信息,以便該當(dāng)前打開的網(wǎng)頁播放器在監(jiān)聽到該事件后,還從該事件中的存儲信息到本地緩存中提取該文件信息來播放該多媒體文件。那么網(wǎng)頁播放器會暫停先前正在播發(fā)的多媒體文件,開始播放新的多媒體文件。
本實(shí)施例中,通過在本地緩存中創(chuàng)建第一標(biāo)記位,該第一標(biāo)記位用于在網(wǎng)頁播放器打開時取值由初始值更改為目標(biāo)值,在網(wǎng)頁播放器關(guān)閉時取值更改為所述初始值,這樣,當(dāng)接收到對多媒體文件的播放請求時,可以通過檢查該第一標(biāo)記位的當(dāng)前值來確認(rèn)當(dāng)前是否有打開的網(wǎng)頁播放器,如果有,發(fā)出第一調(diào)用指令,以便播放系統(tǒng)可以根據(jù)該第一調(diào)用指令調(diào)用當(dāng)前打開的網(wǎng)頁播放器來播放多媒體文件,實(shí)現(xiàn)了同一時刻只有一個網(wǎng)頁播放器播放多媒體文件,避免了同一時刻有多個音源的問題。
可選的,本實(shí)施例的網(wǎng)頁播放器的調(diào)用方法還包括:
104、當(dāng)確定所述第一標(biāo)記位的當(dāng)前值為所述初始值時,發(fā)出第二調(diào)用指令,以便所述多媒體播放裝置根據(jù)所述第二調(diào)用指令打開一個網(wǎng)頁播放器播放所述多媒體文件。
當(dāng)確定所述第一標(biāo)記位的當(dāng)前值為所述初始值,表示當(dāng)前沒有打開的網(wǎng)頁播放器,那么瀏覽器發(fā)出第二調(diào)用指令。需注意的是,該第一調(diào)用指令和第二調(diào)用指令并不相同,其中第一調(diào)用指令用于指示多媒體播放裝置調(diào)用當(dāng)前打開的網(wǎng)頁播放器,第二調(diào)用指令用于指示多媒體播放裝置打開一個網(wǎng)頁播放器。
發(fā)出第二調(diào)用指令的方法有多種,例如,瀏覽器采用window.open訪問網(wǎng)頁播放器的統(tǒng)一資源定位符(英文全稱:Uniform Resource Locator,英文縮寫:URL)。其中,在訪問網(wǎng)頁播放器的url時,瀏覽器還將待播放的多媒體文件的文件信息的存儲信息發(fā)送給多媒體播放裝置。當(dāng)多媒體播放裝置檢測到網(wǎng)頁播放器的url被訪問時,確定接收到第二調(diào)用指令。
本實(shí)施例中,采用第一標(biāo)記位來指示當(dāng)前是否有打開的網(wǎng)頁播放器。實(shí)際應(yīng)用中,可能會出現(xiàn)網(wǎng)頁播放器異常退出而導(dǎo)致多媒體播放裝置沒有將第一標(biāo)記位的取值更改為初始值的情況,那么,瀏覽器根據(jù)第一標(biāo)記位的當(dāng)前值為目標(biāo)值而發(fā)出第一調(diào)用指令,使得多媒體播放裝置調(diào)用當(dāng)前打開的網(wǎng)頁播放器播放多媒體文件,由于該網(wǎng)頁播放器已經(jīng)異常退出,因此導(dǎo)致當(dāng)前沒有網(wǎng)頁播放器播放該多媒體文件。
因此,可選的,本實(shí)施例中,在接收到對多媒體文件的播放請求后,當(dāng)確定所述第一標(biāo)記位的當(dāng)前值為所述目標(biāo)值時,在發(fā)出第一調(diào)用指令之前,還在本地緩存中創(chuàng)建第二標(biāo)記位,所述第二標(biāo)記位用于在所述當(dāng)前打開的網(wǎng)頁播放器被調(diào)用時取值由初始值更改為目標(biāo)值。在發(fā)出第一調(diào)用指令后,距離所述發(fā)出第一調(diào)用指令預(yù)置時長后,檢查所述第二標(biāo)記位的當(dāng)前值。若該當(dāng)前值為第二標(biāo)記位的初始值,則表示沒有出現(xiàn)當(dāng)前打開的網(wǎng)頁播放器被調(diào)用的情況,那么可以確定之前出現(xiàn)網(wǎng)頁播放器異常退出的情況。因此,當(dāng)確定所述第二標(biāo)記位的當(dāng)前值為所述初始值時,發(fā)出第二調(diào)用指令,以便所述多媒體播放裝置根據(jù)所述第二調(diào)用指令打開一個網(wǎng)頁播放器播放所述多媒體文件。
其中,在發(fā)出第一調(diào)用指令后,距離該發(fā)出第一調(diào)用指令預(yù)置時長后才檢查第二標(biāo)記位的當(dāng)前值,該預(yù)置時長時為了在第一調(diào)用指令發(fā)出后留出時間給多媒體播放裝置調(diào)用當(dāng)前打開的播放器來播放多媒體文件。具體舉例來說,該預(yù)置時長為500毫秒。
在發(fā)出第一調(diào)用指令后,距離所述發(fā)出第一調(diào)用指令預(yù)置時長后,檢查所述第二標(biāo)記位的當(dāng)前值時,若該當(dāng)前值為第二標(biāo)記位的目標(biāo)值,表明已經(jīng)出現(xiàn)當(dāng)前打開的網(wǎng)頁播放器被調(diào)用的情況,那么可以確定當(dāng)前存在打開的網(wǎng)頁播放器正常工作,不再額外進(jìn)行操作。
其中,由于第一標(biāo)記位和第二標(biāo)記位的作用時長不同,第一標(biāo)記位的作用時長是多媒體播放裝置的工作時長,而每接收到一個對多媒體文件的播放請求且確定第一標(biāo)記位的當(dāng)前值為目標(biāo)值時,才創(chuàng)建一個第二標(biāo)記位,該第二標(biāo)記位的作用時長僅在接收到該多媒體文件的播放請求到播放該多媒體文件的期間內(nèi),因此第一次標(biāo)記位的工作時長要遠(yuǎn)大于第二標(biāo)記位的工作時長。因此,優(yōu)選的,第一標(biāo)記位在存儲比較穩(wěn)定的本地存儲中創(chuàng)建。優(yōu)選的,本實(shí)施例中,具體在瀏覽器緩存中創(chuàng)建第二標(biāo)記位。由于瀏覽器緩存比較可靠,出現(xiàn)異常情況少,存儲時長較短,操作簡單,相比其他緩存更加適合存儲第二標(biāo)記位。
上面從瀏覽器一側(cè)對本發(fā)明的網(wǎng)頁播放器的調(diào)用方法進(jìn)行了描述,下面將從多媒體播放裝置一側(cè)對本發(fā)明的網(wǎng)頁多媒體文件的播放方法進(jìn)行描述。
請參閱圖2,圖2為本發(fā)明的網(wǎng)頁多媒體文件的播放方法的一種實(shí)施例的流程示意圖。本實(shí)施例中,網(wǎng)頁多媒體文件的播放方法包括:
201、接收到第一調(diào)用指令時,根據(jù)所述第一調(diào)用指令獲取待播放的多媒體文件的文件信息,所述第一調(diào)用指令還用于指示當(dāng)前存在打開的網(wǎng)頁播放器。
具體的,第一調(diào)用指令為onstorage事件,由于只有在當(dāng)前有打開的網(wǎng)頁播放器的情況下才會有onstorage時間的發(fā)布,因此,當(dāng)onstorage時間發(fā)布時,確定接收到第一調(diào)用指令。該onstorage事件中攜帶有待播放的多媒體文件的文件信息在終端緩存中的存儲信息,具體的,該存儲信息包括文件信息的存儲地址。當(dāng)監(jiān)聽到onstorage事件時,根據(jù)該事件所攜帶的存儲信息到終端存儲中提取該文件信息。其中,該提取該文件信息指的是讀取文件信息并將該文件信息從終端存儲中清除。
而且,在接收到第一調(diào)用指令時,表示當(dāng)前有打開的網(wǎng)頁播放器。
202、根據(jù)所述文件信息調(diào)用當(dāng)前打開的網(wǎng)頁播放器播放所述多媒體文件。
由于只有當(dāng)前打開的網(wǎng)頁播放器能夠監(jiān)聽到onstorage事件,因此,當(dāng)前打開的網(wǎng)頁播放器監(jiān)聽到onstorage事件時,該網(wǎng)頁播放器將從終端存儲中提取出的文件信息加入該網(wǎng)頁播放器的播放列表中,暫停先前正在播發(fā)的多媒體文件,并開始播放新加入播放列表的多媒體文件。
本實(shí)施例中,由于第一調(diào)用指令指示當(dāng)前存在打開的網(wǎng)頁播放器,在接收到第一調(diào)用指令時,即可根據(jù)該第一調(diào)用指令來獲取待播放的多媒體文件的文件信息,并根據(jù)所述文件信息調(diào)用當(dāng)前打開的網(wǎng)頁播放器播放所述多媒體文件,這樣,同一時刻只會有一個打開的網(wǎng)頁播放器,避免了多個網(wǎng)頁播放器同時播放多媒體文件的問題,進(jìn)而避免了同一時刻有多個音源的問題。
可選的,本實(shí)施例中的網(wǎng)頁多媒體文件的播放方法還包括:
203、接收到第二調(diào)用指令時,根據(jù)所述第二調(diào)用指令獲取待播放的多媒體文件的文件信息,所述第二調(diào)用指令用于指示當(dāng)前不存在打開的網(wǎng)頁播放器。
本實(shí)施例中,第一調(diào)用指令和第二調(diào)用指令為不同的調(diào)用指令,其中第一調(diào)用指令用于指示當(dāng)前存在打開的網(wǎng)頁播放器,第二調(diào)用指令用于指示當(dāng)前不存在打開的網(wǎng)頁播放器,多媒體播放裝置根據(jù)接收的調(diào)用指令來執(zhí)行對應(yīng)的操作。多媒體播放裝置在接受到第二調(diào)用指令時,該指令還包括待播放的多媒體文件的文件信息的存儲信息,多媒體播放裝置根據(jù)該存儲信息到終端存儲中提取該文件信息。
204、打開一個網(wǎng)頁播放器根據(jù)所述文件信息播放所述多媒體文件。
當(dāng)接收到第二調(diào)用指令時,由于當(dāng)前沒有打開的網(wǎng)頁播放器,因此多媒體播放裝置需打開一個網(wǎng)頁播放器。具體的,多媒體播放裝置可隨機(jī)調(diào)用一個網(wǎng)頁播放器,并將從終端存儲中提取出的文件信息添加到該網(wǎng)頁播放器的播放列表中,以便該網(wǎng)頁播放器根據(jù)該文件信息播放該多媒體文件。
205、將終端緩存中的第一標(biāo)記位的值由初始值更改為目標(biāo)值,所述初始值用于指示當(dāng)前沒有打開的網(wǎng)頁播放器,所述目標(biāo)值用于指示當(dāng)前有打開的網(wǎng)頁播放器。
在沒有打開的網(wǎng)頁播放器時,終端緩存中存有的第一標(biāo)記位的值為初始值,多媒體播放裝置打開一個網(wǎng)頁播放器后,將該第一標(biāo)記位的值更改為目標(biāo)值,以便瀏覽器可以通過該第一標(biāo)記位的當(dāng)前取值來判斷是否有打開的網(wǎng)頁播放器,在接收到播放請求時選擇發(fā)出第一調(diào)用指令還是第二調(diào)用指令。
本實(shí)施例中,在多媒體文件的所在網(wǎng)頁關(guān)閉時,網(wǎng)頁播放器會正常退出,多媒體播放裝置中監(jiān)聽到該網(wǎng)頁的關(guān)閉事件時,還將該第一標(biāo)記位的取值由目標(biāo)值更改為初始值,以表示接下來沒有打開的網(wǎng)頁播放器。
然而,在本發(fā)明的一些可選的實(shí)施例中,終端緩存中還存有第二標(biāo)記位,該第二標(biāo)記位是創(chuàng)建于該待播放的多媒體文件的播放請求后發(fā)出第二調(diào)用指令之前,該第二標(biāo)記位的取值為初始值。當(dāng)多媒體播放裝置根據(jù)所述文件信息調(diào)用當(dāng)前打開的網(wǎng)頁播放器播放所述多媒體文件時,將該第二標(biāo)記位的值由初始值更改為目標(biāo)值,以表示該網(wǎng)頁播放器正常工作,該多媒體文件得到正常播放。這樣,可通過該第二標(biāo)記位的取值來確定核查當(dāng)前網(wǎng)頁播放器是否正常工作,避免網(wǎng)頁播放器異常退出而無法播發(fā)多媒體文件的情況。
為方便理解,下面結(jié)合一個實(shí)際應(yīng)用場景對本發(fā)明的網(wǎng)頁播放器的調(diào)用方法和網(wǎng)頁播放器的播放方法進(jìn)行描述。
如圖3所示,圖3為本發(fā)明的網(wǎng)頁播放器的調(diào)用方法的另一個實(shí)施例的結(jié)構(gòu)示意圖。本實(shí)施例中,瀏覽器在本地存儲中創(chuàng)建有標(biāo)記位PLAYER_EXIST,該標(biāo)記位PLAYER_EXIST的初始值為FALSE。瀏覽器打開一個頁面后,瀏覽器緩存中存有該頁面的文件,其中文件中包括第一音頻的文件信息。
當(dāng)接收到播放該頁面中的第一音頻的播放請求時,檢查標(biāo)記位PLAYER_EXIST的當(dāng)前取值,如果該取值為TRUE,則表示當(dāng)前存在打開的網(wǎng)頁播放器,那么瀏覽器在瀏覽器緩存中創(chuàng)建標(biāo)記位player_exist,該標(biāo)記位player_exist的初始值為FALSE。
瀏覽器將存在瀏覽器緩存內(nèi)的頁面文件中的第一音頻的文件信息寫入本地存儲中,由于當(dāng)前存在打開的播放器,這使得onstorage事件發(fā)布,其中,onstorage事件中攜帶有第一音頻的文件信息在本地存儲中的存儲信息。距離onstorage事件發(fā)布500ms后,瀏覽器檢查瀏覽器緩存中的標(biāo)記位player_exist的當(dāng)前取值,若當(dāng)前取值為TRUE,表示當(dāng)前打開的網(wǎng)頁播放器已經(jīng)正常播放第一音頻,那么標(biāo)記位player_exist結(jié)束它的作用;若當(dāng)前取值為FALSE,表示之前打開的網(wǎng)頁播放器異常退出,現(xiàn)在沒有網(wǎng)頁播放器播放第一音頻,那么瀏覽器采用window.open訪問網(wǎng)頁播放器的URL,以打開一個網(wǎng)頁播放器播放第一音頻,其中,訪問請求中攜帶有第一音頻在本地存儲中的存儲信息。
如圖4所示,圖4為本發(fā)明的網(wǎng)頁播放器的播放方法的一個實(shí)施例流程示意圖。本實(shí)施例中,多媒體播放裝置中,當(dāng)接收到瀏覽器對網(wǎng)頁播放器的URL的訪問請求時,打開一個網(wǎng)頁播放器,并將本地存儲中的標(biāo)記位PLAYER_EXIST的取值由FALSE更改為TRUE。該網(wǎng)頁播放器根據(jù)訪問請求中的存儲信息到終端存儲中提取第一音頻的文件信息,并根據(jù)該文件信息對第一音頻進(jìn)行播放。
若多媒體播放裝置中存在已打開的網(wǎng)頁播放器,那么瀏覽器在將第一音頻的文件信息寫入本地存儲時,只有該打開的網(wǎng)頁播放器監(jiān)聽到該onstorage事件,那么該網(wǎng)頁播放器根據(jù)該事件中所攜帶的存儲信息到終端存儲中提取文件信息,并根據(jù)該文件信息播放第一音頻,同時將瀏覽器緩存中的標(biāo)記位player_exist的取值由FALSE更改為TRUE。
當(dāng)多媒體播放裝置監(jiān)聽到第一音頻所在頁面關(guān)閉的window.unload事件時,確定網(wǎng)頁播放器正常退出,并將PLAYER_EXIST的取值由TRUE更改為FALSE。
上面對本發(fā)明的網(wǎng)頁播放器的調(diào)用方法和網(wǎng)頁多媒體文件的播放方法進(jìn)行了描述,下面將對本發(fā)明的網(wǎng)頁播放器的調(diào)用裝置和網(wǎng)頁多媒體文件的播放裝置進(jìn)行描述。
請參閱圖5,圖5為本發(fā)明的網(wǎng)頁播放器的調(diào)用裝置的一個實(shí)施例的結(jié)構(gòu)示意圖。本實(shí)施例中,網(wǎng)頁播放器的調(diào)用裝置500,包括:
創(chuàng)建模塊501,用于在本地緩存中創(chuàng)建第一標(biāo)記位,所述第一標(biāo)記位用于在網(wǎng)頁播放器打開時取值由初始值更改為目標(biāo)值,在網(wǎng)頁播放器關(guān)閉時取值更改為所述初始值;
檢查模塊502,用于當(dāng)接收到對多媒體文件的播放請求時,檢查所述第一標(biāo)記位的當(dāng)前值;
第一調(diào)用模塊503,用于當(dāng)確定所述第一標(biāo)記位的當(dāng)前值為所述目標(biāo)值時,發(fā)出第一調(diào)用指令,以便多媒體播放裝置根據(jù)所述第一調(diào)用指令獲取所述多媒體文件的文件信息,并調(diào)用所述多媒體播放裝置中當(dāng)前打開的網(wǎng)頁播放器根據(jù)所述文件信息播放所述多媒體文件。
本實(shí)施例中,采用第一標(biāo)記位來指示當(dāng)前是否有打開的網(wǎng)頁播放器。實(shí)際應(yīng)用中,可能會出現(xiàn)網(wǎng)頁播放器異常退出而導(dǎo)致多媒體播放裝置沒有將第一標(biāo)記位的取值更改為初始值的情況,那么,瀏覽器根據(jù)第一標(biāo)記位的當(dāng)前值為目標(biāo)值而發(fā)出第一調(diào)用指令,使得多媒體播放裝置調(diào)用當(dāng)前打開的網(wǎng)頁播放器播放多媒體文件,由于該網(wǎng)頁播放器已經(jīng)異常退出,因此導(dǎo)致當(dāng)前沒有網(wǎng)頁播放器播放該多媒體文件。
可選的所述裝置還包括:
獲取模塊504,用于當(dāng)接收到對多媒體文件的播放請求時,根據(jù)所述播放請求獲取所述多媒體文件的文件信息;將所述文件信息寫入所述本地緩存中。
可選的,所述第一調(diào)用模塊503具體用于發(fā)布o(jì)nstorage事件,所述onstorage事件攜帶有所述文件信息在本地緩存中的存儲信息,以便所述當(dāng)前打開的網(wǎng)頁播放器在監(jiān)聽到所述onstorage事件時根據(jù)所述存儲信息播放所述多媒體文件。
可選的,如圖6所示,所述創(chuàng)建模塊501還用于當(dāng)確定所述第一標(biāo)記位的當(dāng)前值為所述目標(biāo)值時,在所述發(fā)出第一調(diào)用指令之前,在所述本地緩存中創(chuàng)建第二標(biāo)記位,所述第二標(biāo)記位用于在所述當(dāng)前打開的網(wǎng)頁播放器被調(diào)用時取值由初始值更改為目標(biāo)值;
所述裝置500還包括:
第二調(diào)用模塊601,用于在距離所述發(fā)出第一調(diào)用指令預(yù)置時長后,檢查所述第二標(biāo)記位的當(dāng)前值;當(dāng)確定所述第二標(biāo)記位的當(dāng)前值為所述初始值時,發(fā)出第二調(diào)用指令,以便所述多媒體播放裝置根據(jù)所述第二調(diào)用指令打開一個網(wǎng)頁播放器播放所述多媒體文件。
可選的,所述創(chuàng)建模塊具體用于在瀏覽器緩存中設(shè)置第二標(biāo)記位。
可選的,所述裝置還包括:
第二調(diào)用模塊,用于當(dāng)確定所述第一標(biāo)記位的當(dāng)前值為所述初始值時,發(fā)出第二調(diào)用指令,以便所述多媒體播放裝置根據(jù)所述第二調(diào)用指令打開一個網(wǎng)頁播放器播放所述多媒體文件。
可選的,所述創(chuàng)建模塊具體用于在本地存儲中創(chuàng)建第一標(biāo)記位。
請參閱圖7,圖7為本發(fā)明的網(wǎng)頁多媒體文件的播放裝置的一個實(shí)施例的結(jié)構(gòu)示意圖。本實(shí)施例中,網(wǎng)頁多媒體文件的播放裝置700,包括:
接收模塊701,用于接收到第一調(diào)用指令時,根據(jù)所述第一調(diào)用指令獲取待播放的多媒體文件的文件信息,所述第一調(diào)用指令還用于指示當(dāng)前存在打開的網(wǎng)頁播放器;
播放模塊702,用于根據(jù)所述文件信息調(diào)用當(dāng)前打開的網(wǎng)頁播放器播放所述多媒體文件。
可選的,所述接收模塊701具體用于當(dāng)監(jiān)聽到onstorage事件時,確認(rèn)接收到第一調(diào)用指令,其中,所述onstorage事件攜帶有所述文件信息在終端緩存中的存儲信息;
所述接收模塊701在根據(jù)所述第一調(diào)用指令獲取待播放的多媒體文件的文件信息時,具體用于根據(jù)所述存儲信息從所述終端緩存中提取所述文件信息。
可選的,所述裝置700還包括:
處理模塊703,用于執(zhí)行以下步驟:
接收到第二調(diào)用指令時,根據(jù)所述第二調(diào)用指令獲取待播放的多媒體文件的文件信息,所述第二調(diào)用指令用于指示當(dāng)前不存在打開的網(wǎng)頁播放器;
打開一個網(wǎng)頁播放器根據(jù)所述文件信息播放所述多媒體文件;
將終端緩存中的第一標(biāo)記位的值由初始值更改為目標(biāo)值,所述初始值用于指示當(dāng)前沒有打開的網(wǎng)頁播放器,所述目標(biāo)值用于指示當(dāng)前有打開的網(wǎng)頁播放器。
可選的,所述裝置700還包括:
更改模塊704,用于在根據(jù)所述文件信息調(diào)用當(dāng)前打開的網(wǎng)頁播放器播放所述多媒體文件時,將終端緩存中的第二標(biāo)記位的值由初始值更改為目標(biāo)值,其中,所述第二標(biāo)記位創(chuàng)建于所述多媒體文件的播放請求之后所述第一調(diào)用指令發(fā)出之前。
可選的,所述更改模塊704還用于當(dāng)監(jiān)聽到所述多媒體文件的所在網(wǎng)頁的關(guān)閉事件時,將所述第一標(biāo)記位的值由所述目標(biāo)值更改為所述初始值。
本發(fā)明實(shí)施例還提供了另一種終端,如圖8所示,為了便于說明,僅示出了與本發(fā)明實(shí)施例相關(guān)的部分,具體技術(shù)細(xì)節(jié)未揭示的,請參照本發(fā)明實(shí)施例方法部分。該終端可以為包括手機(jī)、平板電腦、PDA(Personal Digital Assistant,個人數(shù)字助理)、POS(Point of Sales,銷售終端)、車載電腦等任意終端設(shè)備,以終端為手機(jī)為例:
圖8示出的是與本發(fā)明實(shí)施例提供的終端相關(guān)的手機(jī)的部分結(jié)構(gòu)的框圖。參考圖8,手機(jī)包括:射頻(Radio Frequency,RF)電路1010、存儲器1020、輸入單元1030、顯示單元1040、傳感器1050、音頻電路1060、無線保真(wireless fidelity,WiFi)模塊1070、處理器1080、以及電源1090等部件。本領(lǐng)域技術(shù)人員可以理解,圖8中示出的手機(jī)結(jié)構(gòu)并不構(gòu)成對手機(jī)的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。
下面結(jié)合圖8對手機(jī)的各個構(gòu)成部件進(jìn)行具體的介紹:
RF電路1010可用于收發(fā)信息或通話過程中,信號的接收和發(fā)送,特別地,將基站的下行信息接收后,給處理器1080處理;另外,將設(shè)計(jì)上行的數(shù)據(jù)發(fā)送給基站。通常,RF電路1010包括但不限于天線、至少一個放大器、收發(fā)信機(jī)、耦合器、低噪聲放大器(Low Noise Amplifier,LNA)、雙工器等。此外,RF電路1010還可以通過無線通信與網(wǎng)絡(luò)和其他設(shè)備通信。上述無線通信可以使用任一通信標(biāo)準(zhǔn)或協(xié)議,包括但不限于全球移動通訊系統(tǒng)(Global System of Mobile communication,GSM)、通用分組無線服務(wù)(General Packet Radio Service,GPRS)、碼分多址(Code Division Multiple Access,CDMA)、寬帶碼分多址(Wideband Code Division Multiple Access,WCDMA)、長期演進(jìn)(Long Term Evolution,LTE)、電子郵件、短消息服務(wù)(Short Messaging Service,SMS)等。
存儲器1020可用于存儲軟件程序以及模塊,處理器1080通過運(yùn)行存儲在存儲器1020的軟件程序以及模塊,從而執(zhí)行手機(jī)的各種功能應(yīng)用以及數(shù)據(jù)處理。存儲器1020可主要包括存儲程序區(qū)和存儲數(shù)據(jù)區(qū),其中,存儲程序區(qū)可存儲操作系統(tǒng)、至少一個功能所需的應(yīng)用程序(比如聲音播放功能、圖像播放功能等)等;存儲數(shù)據(jù)區(qū)可存儲根據(jù)手機(jī)的使用所創(chuàng)建的數(shù)據(jù)(比如音頻數(shù)據(jù)、電話本等)等。此外,存儲器1020可以包括高速隨機(jī)存取存儲器,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他易失性固態(tài)存儲器件。
輸入單元1030可用于接收輸入的數(shù)字或字符信息,以及產(chǎn)生與手機(jī)的用戶設(shè)置以及功能控制有關(guān)的鍵信號輸入。具體地,輸入單元1030可包括觸控面板1031以及其他輸入設(shè)備1032。觸控面板1031,也稱為觸摸屏,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸控面板1031上或在觸控面板1031附近的操作),并根據(jù)預(yù)先設(shè)定的程式驅(qū)動相應(yīng)的連接裝置??蛇x的,觸控面板1031可包括觸摸檢測裝置和觸摸控制器兩個部分。其中,觸摸檢測裝置檢測用戶的觸摸方位,并檢測觸摸操作帶來的信號,將信號傳送給觸摸控制器;觸摸控制器從觸摸檢測裝置上接收觸摸信息,并將它轉(zhuǎn)換成觸點(diǎn)坐標(biāo),再送給處理器1080,并能接收處理器1080發(fā)來的命令并加以執(zhí)行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類型實(shí)現(xiàn)觸控面板1031。除了觸控面板1031,輸入單元1030還可以包括其他輸入設(shè)備1032。具體地,其他輸入設(shè)備1032可以包括但不限于物理鍵盤、功能鍵(比如音量控制按鍵、開關(guān)按鍵等)、軌跡球、鼠標(biāo)、操作桿等中的一種或多種。
顯示單元1040可用于顯示由用戶輸入的信息或提供給用戶的信息以及手機(jī)的各種菜單。顯示單元1040可包括顯示面板1041,可選的,可以采用液晶顯示器(Liquid Crystal Display,LCD)、有機(jī)發(fā)光二極管(Organic Light-Emitting Diode,OLED)等形式來配置顯示面板1041。進(jìn)一步的,觸控面板1031可覆蓋顯示面板1041,當(dāng)觸控面板1031檢測到在其上或附近的觸摸操作后,傳送給處理器1080以確定觸摸事件的類型,隨后處理器1080根據(jù)觸摸事件的類型在顯示面板1041上提供相應(yīng)的視覺輸出。雖然在圖8中,觸控面板1031與顯示面板1041是作為兩個獨(dú)立的部件來實(shí)現(xiàn)手機(jī)的輸入和輸入功能,但是在某些實(shí)施例中,可以將觸控面板1031與顯示面板1041集成而實(shí)現(xiàn)手機(jī)的輸入和輸出功能。
手機(jī)還可包括至少一種傳感器1050,比如光傳感器、運(yùn)動傳感器以及其他傳感器。具體地,光傳感器可包括環(huán)境光傳感器及接近傳感器,其中,環(huán)境光傳感器可根據(jù)環(huán)境光線的明暗來調(diào)節(jié)顯示面板1041的亮度,接近傳感器可在手機(jī)移動到耳邊時,關(guān)閉顯示面板1041和/或背光。作為運(yùn)動傳感器的一種,加速計(jì)傳感器可檢測各個方向上(一般為三軸)加速度的大小,靜止時可檢測出重力的大小及方向,可用于識別手機(jī)姿態(tài)的應(yīng)用(比如橫豎屏切換、相關(guān)游戲、磁力計(jì)姿態(tài)校準(zhǔn))、振動識別相關(guān)功能(比如計(jì)步器、敲擊)等;至于手機(jī)還可配置的陀螺儀、氣壓計(jì)、濕度計(jì)、溫度計(jì)、紅外線傳感器等其他傳感器,在此不再贅述。
音頻電路1060、揚(yáng)聲器1061,傳聲器1062可提供用戶與手機(jī)之間的音頻接口。音頻電路1060可將接收到的音頻數(shù)據(jù)轉(zhuǎn)換后的電信號,傳輸?shù)綋P(yáng)聲器1061,由揚(yáng)聲器1061轉(zhuǎn)換為聲音信號輸出;另一方面,傳聲器1062將收集的聲音信號轉(zhuǎn)換為電信號,由音頻電路1060接收后轉(zhuǎn)換為音頻數(shù)據(jù),再將音頻數(shù)據(jù)輸出處理器1080處理后,經(jīng)RF電路1010以發(fā)送給比如另一手機(jī),或者將音頻數(shù)據(jù)輸出至存儲器1020以便進(jìn)一步處理。
WiFi屬于短距離無線傳輸技術(shù),手機(jī)通過WiFi模塊1070可以幫助用戶收發(fā)電子郵件、瀏覽網(wǎng)頁和訪問流式媒體等,它為用戶提供了無線的寬帶互聯(lián)網(wǎng)訪問。雖然圖8示出了WiFi模塊1070,但是可以理解的是,其并不屬于手機(jī)的必須構(gòu)成,完全可以根據(jù)需要在不改變發(fā)明的本質(zhì)的范圍內(nèi)而省略。
處理器1080是手機(jī)的控制中心,利用各種接口和線路連接整個手機(jī)的各個部分,通過運(yùn)行或執(zhí)行存儲在存儲器1020內(nèi)的軟件程序和/或模塊,以及調(diào)用存儲在存儲器1020內(nèi)的數(shù)據(jù),執(zhí)行手機(jī)的各種功能和處理數(shù)據(jù),從而對手機(jī)進(jìn)行整體監(jiān)控??蛇x的,處理器1080可包括一個或多個處理單元;優(yōu)選的,處理器1080可集成應(yīng)用處理器和調(diào)制解調(diào)處理器,其中,應(yīng)用處理器主要處理操作系統(tǒng)、用戶界面和應(yīng)用程序等,調(diào)制解調(diào)處理器主要處理無線通信??梢岳斫獾氖牵鲜稣{(diào)制解調(diào)處理器也可以不集成到處理器1080中。
手機(jī)還包括給各個部件供電的電源1090(比如電池),優(yōu)選的,電源可以通過電源管理系統(tǒng)與處理器1080邏輯相連,從而通過電源管理系統(tǒng)實(shí)現(xiàn)管理充電、放電、以及功耗管理等功能。
盡管未示出,手機(jī)還可以包括攝像頭、藍(lán)牙模塊等,在此不再贅述。
在本發(fā)明實(shí)施例中,該終端所包括的處理器1080還具有控制執(zhí)行以上圖1至圖4所示實(shí)施例中的方法流程。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對應(yīng)過程,在此不再贅述。
在本申請所提供的幾個實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個實(shí)施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨(dú)物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時,可以存儲在一個計(jì)算機(jī)可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計(jì)算機(jī)設(shè)備(可以是個人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實(shí)施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機(jī)存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述,以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行更改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些更改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。