一種視頻播放應(yīng)用程序的視頻播放方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及視頻處理領(lǐng)域,尤其涉及一種視頻播放應(yīng)用程序的視頻播放方法及裝 置。
【背景技術(shù)】
[0002] 在現(xiàn)有技術(shù)中,一些視頻播放應(yīng)用程序?yàn)榱素S富視頻播放的內(nèi)容,通常與一些視 頻網(wǎng)站進(jìn)行合作,以便能夠播放更多的視頻,這些視頻播放應(yīng)用程序在播放合作網(wǎng)站上的 視頻時(shí),需要進(jìn)入這些網(wǎng)站進(jìn)行播放,這時(shí)就產(chǎn)生了選擇哪個(gè)播放器播放這些視頻的問題。
[0003] 例如,在視頻播放應(yīng)用程序中嵌入html (Hyper Text Markup Language,超文本標(biāo) 記語言)5頁面進(jìn)行內(nèi)容展示,當(dāng)頁面中包含視頻內(nèi)容時(shí),在決定采用哪個(gè)播放器對(duì)該視頻 內(nèi)容進(jìn)行播放時(shí),視頻的播放行為一般由系統(tǒng)瀏覽器決定,也即,由系統(tǒng)瀏覽器決定是采用 預(yù)定的播放器進(jìn)行播放、或者是直接在網(wǎng)頁頁面上播放、或者是彈出提示框提示用戶選擇 哪個(gè)播放器進(jìn)行播放。
[0004] 然而,系統(tǒng)瀏覽器指定的播放器可能在當(dāng)前的視頻播放應(yīng)用程序中并不能正常播 放;或者是在一種移動(dòng)設(shè)備上可以播放,在另一種移動(dòng)設(shè)備上不能播放,使得這中選擇播放 器的方式可擴(kuò)展性不強(qiáng)。
[0005] 為了解決這個(gè)問題,目前各種產(chǎn)品解決這個(gè)方案的方法為:
[0006] (1)通過使用自定義瀏覽器內(nèi)核,并自行實(shí)現(xiàn)瀏覽器內(nèi)部的播放接口,從而在播放 時(shí)攔截播放操作;但其不足在于,需要自定義瀏覽器內(nèi)核,工作量較大,實(shí)現(xiàn)較為復(fù)雜。
[0007] (2)通過Hook技術(shù)攔截瀏覽器內(nèi)核調(diào)用播放器的接口,從而在無法自定義瀏覽器 內(nèi)核的情況下攔截播放操作;但其不足在于,需要對(duì)瀏覽器進(jìn)行較為復(fù)雜的Hook操作,難 以穩(wěn)定實(shí)現(xiàn),也容易受瀏覽器內(nèi)核版本升級(jí)的影響。
[0008] 因此,現(xiàn)有技術(shù)的不足在于:缺少一種簡(jiǎn)便的在視頻播放應(yīng)用程序中指定播放器 播放視頻的方式。
【發(fā)明內(nèi)容】
[0009] 本發(fā)明實(shí)施例中提供了一種視頻播放應(yīng)用程序的視頻播放方法及裝置,使得在視 頻播放應(yīng)用程序中播放視頻時(shí),能夠以簡(jiǎn)單的方式實(shí)現(xiàn)指定播放器。
[0010] 本發(fā)明實(shí)施例中提供了一種視頻播放應(yīng)用程序的視頻播放方法,包括如下步驟:
[0011] 監(jiān)控當(dāng)前頁面,所述當(dāng)前頁面是在視頻播放應(yīng)用程序的網(wǎng)頁控件內(nèi)顯示的網(wǎng)頁;
[0012] 在確定當(dāng)前頁面設(shè)置了有效的視頻源地址時(shí),獲取視頻源地址;
[0013] 根據(jù)所述視頻源地址獲取視頻源,并調(diào)用視頻播放應(yīng)用程序指定的播放器進(jìn)行播 放。
[0014] 本發(fā)明實(shí)施例中還提供了一種視頻播放應(yīng)用程序的視頻播放裝置,包括:
[0015] 監(jiān)控模塊,用于監(jiān)控當(dāng)前頁面,該當(dāng)前頁面是在視頻播放應(yīng)用程序的網(wǎng)頁控件內(nèi) 顯示的網(wǎng)頁;
[0016] 獲取模塊,用于在確定當(dāng)前頁面設(shè)置了有效的視頻源地址時(shí),獲取視頻源地址;
[0017] 播放模塊,用于根據(jù)該視頻源地址獲取視頻源,并調(diào)用視頻播放應(yīng)用程序指定的 播放器進(jìn)行播放。
[0018] 本發(fā)明的有益效果如下:
[0019] 在本發(fā)明實(shí)施例所提供的技術(shù)方案中,監(jiān)控當(dāng)前頁面,以及確定當(dāng)前頁面是否設(shè) 置了有效的視頻源地址,獲取視頻源地址,調(diào)用視頻播放應(yīng)用程序指定的播放器進(jìn)行播放 的實(shí)施,涉及的是頁面上的操作,都可以通過瀏覽器控件來實(shí)施,都與瀏覽器內(nèi)核無關(guān),因 此方案實(shí)施簡(jiǎn)單、運(yùn)行穩(wěn)定,也不受瀏覽器內(nèi)核的改動(dòng)影響。
[0020] 具體的,監(jiān)控當(dāng)前頁面,以及確定當(dāng)前頁面是否設(shè)置了有效的視頻源地址,獲取視 頻源地址;是通過瀏覽器控件的標(biāo)準(zhǔn)接口注入腳本即可實(shí)現(xiàn)的方式,同時(shí),僅需再通過瀏覽 器控件的擴(kuò)展接口提供一個(gè)接口,該腳本便可以調(diào)用視頻播放應(yīng)用程序指定的播放器進(jìn)行 播放。由于通過瀏覽器控件在頁面注入腳本以及提供一個(gè)調(diào)用接口都是容易實(shí)現(xiàn)的方式, 因此,本發(fā)明實(shí)施例提供的技術(shù)方案能夠在視頻播放應(yīng)用程序中播放視頻時(shí)以簡(jiǎn)單的方式 實(shí)現(xiàn)指定播放器。
【附圖說明】
[0021] 下面將參照附圖描述本發(fā)明的具體實(shí)施例,其中:
[0022] 圖1為本發(fā)明實(shí)施例視頻播放應(yīng)用程序的視頻播放方法實(shí)施流程示意圖;
[0023] 圖2為本發(fā)明實(shí)施例視頻播放應(yīng)用程序的視頻播放裝置結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0024] 為了使本發(fā)明的技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖對(duì)本發(fā)明的示例性 實(shí)施例進(jìn)行進(jìn)一步詳細(xì)的說明,顯然,所描述的實(shí)施例僅是本發(fā)明的一部分實(shí)施例,而不是 所有實(shí)施例的窮舉。
[0025] 圖1為視頻播放應(yīng)用程序的視頻播放方法實(shí)施流程示意圖,如圖所示,可以包括 如下步驟:
[0026] 步驟101、監(jiān)控當(dāng)前頁面,所述當(dāng)前頁面是在視頻播放應(yīng)用程序的網(wǎng)頁控件內(nèi)顯示 的網(wǎng)頁;
[0027] 步驟102、在確定當(dāng)前頁面設(shè)置了有效的視頻源地址時(shí),獲取視頻源地址;
[0028] 步驟103、根據(jù)所述視頻源地址獲取視頻源,并調(diào)用視頻播放應(yīng)用程序指定的播放 器進(jìn)行播放。
[0029] 實(shí)施中,可以通過向當(dāng)前頁面注入一段腳本的方式來實(shí)施上述步驟,具體實(shí)施中, 只需通過瀏覽器控件的標(biāo)準(zhǔn)接口即可向當(dāng)前頁面注入實(shí)現(xiàn)該步驟的腳本,這是本領(lǐng)域技術(shù) 人員容易實(shí)現(xiàn)的。
[0030] 實(shí)施中,監(jiān)控當(dāng)前頁面時(shí),監(jiān)控的可以是當(dāng)前頁面的Video標(biāo)簽;
[0031] 可以在確定Video標(biāo)簽中設(shè)置了有效的視頻源地址時(shí),確定當(dāng)前頁面設(shè)置了有效 的視頻源地址;
[0032] 獲取視頻源地址,可以是獲取Video標(biāo)簽正在播放的視頻源地址。
[0033] 在實(shí)施中以Video標(biāo)簽為例,是因?yàn)楫?dāng)前頁面中較為常見,也最容易實(shí)施,因此以 之為例;但是,用其它的方式也是可以的,Video標(biāo)簽主要針對(duì)的是html5頁面的實(shí)施,事實(shí) 上,在其他制式或者標(biāo)準(zhǔn)下,只要能夠?qū)崿F(xiàn)監(jiān)控當(dāng)前頁面、獲取視頻源地址的目的,用其他 標(biāo)簽、控件等也能實(shí)施;本例中,Video標(biāo)簽僅用于教導(dǎo)本領(lǐng)域技術(shù)人員具體如何實(shí)施本發(fā) 明,但不意味僅能使用Video標(biāo)簽一種方式,實(shí)施過程中可以結(jié)合實(shí)踐需要來確定相應(yīng)的 方式。
[0034] 實(shí)施中,監(jiān)控當(dāng)前頁面的Video標(biāo)簽,可以是在網(wǎng)頁控件內(nèi)的網(wǎng)頁更新完成時(shí)開 始監(jiān)控的。
[0035] 實(shí)施中,獲取Video標(biāo)簽正在播放的視頻源地址,可以是通過當(dāng)前頁面的 DOM(Document Object Model,文檔對(duì)象模型)結(jié)構(gòu)獲取的。
[0036] 實(shí)施中,還可以進(jìn)一步包括:創(chuàng)建定時(shí)器;則監(jiān)控當(dāng)前頁面的Video標(biāo)簽,可以是 在定時(shí)器執(zhí)行時(shí)進(jìn)行監(jiān)控的。
[0037] 實(shí)施中,還可以進(jìn)一步包括:在確定Video標(biāo)簽中設(shè)置了有效的視頻源地址時(shí),可 以將Video標(biāo)簽的播放狀態(tài)修改為暫停。
[0038] 具體實(shí)施中,本步驟的作用在于監(jiān)控開始播放的行為,因?yàn)橹挥羞@個(gè)時(shí)候,才比較 容易確定Video標(biāo)簽已經(jīng)設(shè)置了有效的視頻源地址。具體的則可以通過監(jiān)控Video標(biāo)簽的 視頻源地址參數(shù)src,當(dāng)發(fā)現(xiàn)src中已經(jīng)設(shè)置了有效的視頻地址,則代表開始播放,就可以 將Video標(biāo)簽的播放狀態(tài)修改為暫停。
[0039] 實(shí)施中,調(diào)用視頻播放應(yīng)用程序指定的播放器進(jìn)行播放,可以包括:
[0040] 通過瀏覽器控件的擴(kuò)展接口向當(dāng)前頁面提供播放接口;
[0041] 通過該播放接口調(diào)用視頻播放應(yīng)用程序指定的播放器進(jìn)行播放。
[0042] 下面以Video標(biāo)簽為例進(jìn)行說明。
[0043] 在調(diào)用視頻播放應(yīng)用程序指定的播放器進(jìn)行播放時(shí),需要用到播放接口,則可以 提前通過瀏覽器控件的擴(kuò)展接口向當(dāng)前頁面提供播放接口。具體的,視頻播放應(yīng)用程序可 以使用系統(tǒng)默認(rèn)瀏覽器控件向當(dāng)前頁面提供播放接口,向當(dāng)前頁面提供播放接口,是指為 當(dāng)前網(wǎng)頁內(nèi)的頁面腳本程序提供一個(gè)調(diào)用視頻播放應(yīng)用程序指定播放器的入口。頁面腳本 程序下述簡(jiǎn)稱為腳本,腳本是批處理文件的延伸,是一種純文本保存的程序,一般來說的計(jì) 算機(jī)腳本程序是確定的一系列控制計(jì)算機(jī)進(jìn)行運(yùn)算操作動(dòng)作的組合,在其中可以實(shí)現(xiàn)一定 的邏輯分支等。腳本簡(jiǎn)單地說就是一條條的文字命令,這些文字命令是可以看到的(如可 以用記事本打開查看、編輯),腳本程序在執(zhí)行時(shí),是由系統(tǒng)的一個(gè)解釋器,將其一條條的翻 譯成機(jī)器可識(shí)別的指令,并按程序順序執(zhí)行。腳本通??梢杂蓱?yīng)用程序臨時(shí)調(diào)用并執(zhí)行。各 類腳本被廣泛地應(yīng)用于網(wǎng)頁設(shè)計(jì)中。
[0044] 實(shí)施中,提供播放接口方式可以有多種,比如:通過瀏覽器控件的擴(kuò)展接口向當(dāng)前 頁面的腳本提供播放接口,腳本的實(shí)施在下面進(jìn)行說明。
[0045] 通過瀏覽器控件的擴(kuò)展接口向當(dāng)前頁面的腳本提供播放接口的具體實(shí)施可以如 下:
[0046] 向javascript腳本提供可調(diào)用的接口,比如安卓的WebView控件通過 addjavascriptlnterface方式就可以向?yàn)g覽器控件中運(yùn)行的javascript腳本提供一個(gè)接 口。因此,視頻播放應(yīng)用程序可以將調(diào)用播放器的功能封裝為一個(gè)接口,然后將這個(gè)擴(kuò)展接 口提供給當(dāng)前頁面上的腳本。
[0047] 具體實(shí)現(xiàn)視頻播放應(yīng)用程序的視頻播放方法時(shí),可以采用編寫腳本的方式來實(shí) 現(xiàn),也即通過腳本的編寫來自動(dòng)實(shí)現(xiàn)監(jiān)控當(dāng)前頁面、獲取視頻源地址、調(diào)用接口等。
[0048] 則在實(shí)施中,每當(dāng)網(wǎng)頁控件內(nèi)的網(wǎng)頁更新完成時(shí),就可以通過瀏覽器控件的標(biāo)準(zhǔn) 接口,向當(dāng)前頁面注入一段實(shí)現(xiàn)上述功能的腳本;
[0049] 進(jìn)一步的,腳本還可以實(shí)現(xiàn)以下功能:
[0050] 創(chuàng)建一個(gè)定時(shí)器T,則監(jiān)控當(dāng)前頁面的Video標(biāo)簽,可以是在定時(shí)器執(zhí)行時(shí)進(jìn)行 監(jiān)控,設(shè)定定時(shí)器以后,即可按照需要通過定時(shí)器的設(shè)置來控制實(shí)施例中提供的方案的實(shí) 施;
[0051] 這樣,通過腳本的執(zhí)行可以實(shí)現(xiàn):在定時(shí)器T執(zhí)行時(shí),監(jiān)控當(dāng)前頁面中的Video標(biāo) 簽,假如Video標(biāo)簽中設(shè)置了有效的視頻源地址處于播放狀態(tài),則通過當(dāng)前頁面的DOM結(jié) 構(gòu),獲取Video標(biāo)簽正在播放的視頻源地址,并將Video標(biāo)簽的播放狀態(tài)修改為暫停;然后 根據(jù)獲取的Video標(biāo)簽正在播放的視頻源地址,獲取視頻源,采用視頻播放應(yīng)用程序本身 指定的播放器進(jìn)行視頻播放。
[0052] 獲取Video標(biāo)簽正在播放的視頻源地址具體可以是:以HTML5的標(biāo)準(zhǔn)播放器控件 video 標(biāo)簽為例,它含有 src、poster、preload、autoplay、loop、controls、height、width 等屬性。其中,src屬性是用于指定視頻的地址;poster屬性用于指定一張圖片;autoplay 用于設(shè)置視頻是否自動(dòng)播放,當(dāng)出現(xiàn)這一屬性時(shí)表示自動(dòng)播放;loop屬性用于指定視頻是 否循環(huán)播放。
[0053] HTML5提供有新的Video標(biāo)簽,具體代碼如下:
[0054] <bod 靖 le==,,baekgr_i4-eOto