中文字幕无码日韩视频无码三区

利用寄生工具包實現的視頻播放方法及裝置的制造方法

文檔序號:10573109閱讀:500來源:國知局
利用寄生工具包實現的視頻播放方法及裝置的制造方法
【專利摘要】本發明公開了一種利用寄生工具包實現的視頻播放方法及裝置。其中寄生工具包與主應用預先綁定,以提供在主應用的用戶界面中播放視頻的功能,上述方法包括:主應用啟動時,在主應用的用戶界面中呈現視頻播放入口;根據用戶觸發視頻播放入口的行為,創建懸浮窗,在懸浮窗內嵌入視頻播放器;其中懸浮窗的尺寸小于主應用的用戶界面的尺寸;將服務器提供的視頻流傳輸給視頻播放器,以在呈現主應用的用戶界面的同時在懸浮窗內播放視頻流,實現了呈現主應用的用戶界面的同時播放視頻,解決了用戶只能單獨使用其他應用或視頻應用,而不能在操作其他應用時同時顯示視頻應用的界面的缺陷,大大提高了用戶操作的簡便性,節省用戶時間。
【專利說明】
利用寄生工具包實現的視頻播放方法及裝置
技術領域
[0001]本發明涉及智能終端技術領域,具體涉及一種利用寄生工具包實現的視頻播放方法及裝置。
【背景技術】
[0002]隨著智能終端的屏幕越來越大、CPU(Central Processing Unit,中央處理器)、內存、GPU(Graphics Processing Unit,圖形處理器)等硬件功能越來越強大,用戶對應用的需求也越來越高,例如用戶希望在操作其他應用的同時能夠觀看視頻。目前,如果終端在運行一個應用的同時想要運行視頻應用,終端是需要將當前運行應用的相關操作暫停,或者關閉當前運行應用的應用界面,然后才能切換到另一個應用的應用界面。例如,當用戶玩游戲的時候,需要觀看視頻,用戶需要暫停或退出正在玩的游戲才能觀看視頻;或者,通過設置視頻應用和其他應用的界面的顯示大小,才能同時顯示視頻應用和其他應用,用戶需要在各個應用的應用界面之間來回切換,給用戶的操作帶來不便,且并不能實現在顯示其他應用的用戶界面的同時播放視頻。

【發明內容】

[0003]鑒于上述問題,提出了本發明以便提供一種克服上述問題或者至少部分地解決上述問題的利用寄生工具包實現的視頻播放方法和相應的利用寄生工具包實現的視頻播放
目.ο
[0004]根據本發明的一個方面,提供了一種利用寄生工具包實現的視頻播放方法,其中寄生工具包與主應用預先綁定,以提供在主應用的用戶界面中播放視頻的功能,方法包括:
[0005]主應用啟動時,在主應用的用戶界面中呈現視頻播放入口 ;
[0006]根據用戶觸發視頻播放入口的行為,創建懸浮窗,在懸浮窗內嵌入視頻播放器;其中懸浮窗的尺寸小于主應用的用戶界面的尺寸;
[0007]將服務器提供的視頻流傳輸給視頻播放器,以在呈現主應用的用戶界面的同時在懸浮窗內播放視頻流。
[0008]根據本發明的另一方面,提供了一種利用寄生工具包實現的視頻播放裝置,其中寄生工具包與主應用預先綁定,以提供在主應用的用戶界面中播放視頻的功能,裝置包括:
[0009]呈現模塊,適于主應用啟動時,在主應用的用戶界面中呈現視頻播放入口 ;
[0010]創建模塊,適于根據用戶觸發視頻播放入口的行為,創建懸浮窗;
[0011]嵌入模塊,適于在懸浮窗內嵌入視頻播放器;其中懸浮窗的尺寸小于主應用的用戶界面的尺寸;
[0012]傳輸模塊,適于將服務器提供的視頻流傳輸給視頻播放器;
[0013]呈現模塊還適于:在呈現主應用的用戶界面的同時在懸浮窗內播放視頻流。
[0014]根據本發明提供的方案,通過創建懸浮窗,在懸浮窗內嵌入視頻播放器,將服務器提供的視頻流傳輸給視頻播放器,實現了呈現主應用的用戶界面的同時播放視頻,解決了用戶只能單獨使用其他應用或視頻應用,而不能在操作其他應用時同時顯示視頻應用的界面的缺陷,克服了現有技術中當需要操作其他應用或視頻應用時,都需要切換到相應的應用,導致操作不便的問題,大大提高了用戶操作的簡便性,節省用戶時間。
[0015]上述說明僅是本發明技術方案的概述,為了能夠更清楚了解本發明的技術手段,而可依照說明書的內容予以實施,并且為了讓本發明的上述和其它目的、特征和優點能夠更明顯易懂,以下特舉本發明的【具體實施方式】。
【附圖說明】
[0016]通過閱讀下文優選實施方式的詳細描述,各種其他的優點和益處對于本領域普通技術人員將變得清楚明了。附圖僅用于示出優選實施方式的目的,而并不認為是對本發明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0017]圖1示出了根據本發明一個實施例的利用寄生工具包實現的視頻播放方法的流程圖;
[0018]圖2示出了根據本發明另一個實施例的利用寄生工具包實現的視頻播放方法的流程圖;
[0019]圖3示出了根據本發明一個實施例的利用寄生工具包實現的視頻播放裝置的結構框圖。
【具體實施方式】
[0020]下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現本公開而不應被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠將本公開的范圍完整的傳達給本領域的技術人員。
[0021]本發明的發明人在使用一些應用(例如,游戲應用)的過程中發現,在使用這些應用的時候,并不能在顯示應用的用戶界面的同時還播放視頻,即,用戶不能在使用這些應用的同時還能觀看視頻,用戶需要另外開啟視頻應用,然而,視頻應用和其他應用并不能同時在移動終端屏幕上顯示,在PC終端也需要通過設置視頻應用和其他應用的界面的顯示大小,才能同時顯示視頻應用和其他應用,若用戶想要對視頻應用或其他應用進行操作時,需要將光標定位到相應的應用,這樣很容易造成使用不便,為了解決上述問題,發明人經過創造性的勞動,提出了利用寄生工具包,將寄生工具包與主應用預先綁定,以提供在主應用的用戶界面中播放視頻的功能的解決方案。
[0022]其中,主應用是一獨立的應用,該應用可以獨立實現相應的功能,不需要依賴于任何其他的應用,例如,游戲應用,用戶在啟動游戲應用后,便可以在游戲應用所提供的用戶界面上玩游戲。
[0023]而該寄生工具包需要依賴于主應用才可以實現相應的功能,需要主應用調用該寄生工具包的API接口才能實現寄生工具包相應的功能,例如,以在游戲應用播放視頻為例,在用戶玩游戲的時候可以同時播放視頻,這里游戲應用為主應用,播放視頻是寄生工具包所實現的功能。
[0024]圖1示出了根據本發明一個實施例的利用寄生工具包實現的視頻播放方法的流程圖。如圖1所示,該方法包括以下步驟:
[0025]步驟S100,主應用啟動時,在主應用的用戶界面中呈現視頻播放入口。
[0026]具體地,用戶在觸發主應用的圖標后,啟動主應用,啟動主應用時,在主應用的用戶界面中呈現視頻播放入口,其中,視頻播放入口可以以浮力球的形式展現。
[0027]步驟SlOl,根據用戶觸發視頻播放入口的行為,創建懸浮窗,在懸浮窗內嵌入視頻播放器,其中懸浮窗的尺寸小于主應用的用戶界面的尺寸。
[0028]具體地,當用戶想要在主應用中觀看視頻時,可以通過觸發視頻播放入口的方式啟動播放視頻,在檢測到用戶觸發視頻播放入口后,根據用戶的該行為,創建Floatwindow。F1atwindow的創建涉及到WindowManager接口,實現類有WindowManagerImpI,CompatModefcapper,Local WindowManager。具體地,寄生工具包的代碼啟動一個 Serv ice,然后在Service中創建懸浮窗。
[0029]懸浮窗是存在終端屏幕之上的浮動窗口,懸浮窗不隸屬于Activity界面,也不受Activity界面的覆蓋影響,但與Activity的生命周期相同。在本實施例中,創建的懸浮窗的尺寸小于主應用的用戶界面的尺寸。
[0030]在創建懸浮窗之后,在懸浮窗內嵌入視頻播放器,該視頻播放器可以用于顯示視頻流。
[0031]步驟S102,將服務器提供的視頻流傳輸給視頻播放器,以在呈現主應用的用戶界面的同時在懸浮窗內播放視頻流。
[0032]具體地,在利用步驟SlOl在懸浮窗內嵌入視頻播放器之后,從服務器獲取相應的視頻流,將服務器提供的視頻流傳輸給視頻播放器,在懸浮窗內播放該視頻流,從而在呈現主應用的用戶界面的同時播放視頻流。
[0033]根據本發明上述實施例提供的方法,通過創建懸浮窗,在懸浮窗內嵌入視頻播放器,將服務器提供的視頻流傳輸給視頻播放器,實現了呈現主應用的用戶界面的同時播放視頻,解決了用戶只能單獨使用其他應用或視頻應用,而不能在操作其他應用時同時顯示視頻應用的界面的缺陷,克服了現有技術中當需要操作其他應用或視頻應用時,都需要切換到相應的應用,導致操作不便的問題,大大提高了用戶操作的簡便性,節省用戶時間。
[0034]圖2示出了根據本發明另一個實施例的利用寄生工具包實現的視頻播放方法的流程圖。如圖2所示,該方法包括以下步驟:
[0035]步驟S200,主應用啟動時,在主應用的用戶界面中呈現視頻播放入口。
[0036]具體地,用戶在觸發主應用的圖標后,啟動主應用,啟動主應用時,在主應用的用戶界面中呈現視頻播放入口,其中,視頻播放入口可以以浮力球的形式展現。
[0037]步驟S201,根據用戶觸發視頻播放入口的行為,創建懸浮窗,設置懸浮窗的窗口位置參數和窗口尺寸參數,使懸浮窗以窗口尺寸參數對應的尺寸顯示在窗口位置參數對應的位置,其中,懸浮窗的尺寸小于主應用的用戶界面的尺寸。
[0038]具體地,當用戶想要在主應用中觀看視頻時,可以通過觸發視頻播放入口的方式啟動播放視頻,在檢測到用戶觸發視頻播放入口后,根據用戶的該行為,創建Floatwindow。F1atwindow的創建涉及到WindowManager接口,實現類有WindowManagerImpI,CompatModefcapper,Local WindowManager。具體地,寄生工具包的代碼啟動一個 Serv ice,然后在Service中創建懸浮窗。在創建懸浮窗時,需要設置懸浮窗的窗口位置參數和窗口尺寸參數(包含Width和height)。懸浮窗的窗口位置參數和窗口尺寸參數決定了懸浮窗以預設尺寸顯示在終端屏幕的預設位置。為了不影響用戶使用其他應用,懸浮窗的預設尺寸應小于終端屏幕的尺寸。
[0039]懸浮窗是存在終端屏幕之上的浮動窗口,懸浮窗不隸屬于Activity界面,也不受Activity界面的覆蓋影響,但與Activity的生命周期相同。
[0040]步驟S202,在懸浮窗內嵌入第一窗口視圖,創建第一窗口視圖的繪圖表面。
[0041]其中,視頻播放器通過第一窗口視圖來實現。為了能夠使該懸浮窗顯示用戶所啟動的視頻服務的用戶界面,在創建懸浮窗之后,在懸浮窗內嵌入第一窗口視圖,該第一窗口視圖用于繪制視頻界面。這里第一窗口視圖可以為任何能夠顯示視頻服務所提供的用戶界面的視圖,本發明對此不作限制。本實施例以第一窗口視圖為surfaceview視圖為例進行說明。
[0042]在Android系統中,surfaceview具有獨立的繪圖表面,它不與其宿主窗口共享同一個繪圖表面。由于具有獨立的繪圖表面,因此surfaceview的用戶界面可在一個獨立的線程中進行繪制,而且又不會占用主線程資源。surfaceview—方面可以實現復雜而高效的UI繪制,另一方面又不會導致用戶輸入得不到及時響應。因此,使用surfaceview作為窗口視圖嵌入到懸浮窗中,可以實現復雜和高效的繪制。
[0043]步驟S203,在懸浮窗內嵌入第二窗口視圖,第二窗口視圖位于第一窗口視圖之下;第二窗口視圖為非透明的背景視圖。
[0044]為了克服由于第一窗口視圖不能及時刷新而導致的第一窗口視圖被透到終端屏幕的缺陷,在懸浮窗內嵌入第二窗口視圖,設置第二窗口視圖與第一窗口視圖的相對位置關系,設定第二窗口視圖位于第一窗口視圖之下,即位于視頻播放器之下,并且第二窗口視圖為非透明的背景視圖,從而能夠解決第一窗口視圖被透到終端屏幕的問題。
[0045]步驟S204,獲取頻道標識,將頻道標識傳輸給服務器。
[0046]具體地,頻道標識用于標示頻道,用于對多個頻道進行區分。在檢測到用戶選擇相應的頻道后,可以利用鉤子(hook)函數,獲取頻道標識,將所獲取到的頻道標識傳輸給服務器,以供服務器查找與該頻道標識對應的視頻流,從而根據用戶的需求播放相應的視頻。
[0047]步驟S205,將服務器提供的與頻道標識對應的視頻流傳輸給第一窗口視圖。
[0048]具體地,服務器在收到傳輸的頻道標識后,根據該頻道標識查找與該頻道標識匹配的視頻流,服務器將查找到的與頻道標識匹配的視頻流返回給終端,將服務器提供的與頻道標識對應的視頻流傳輸給第一窗口視圖。
[0049]步驟S206,控制第一窗口視圖在繪圖表面繪制視頻流對應的視頻界面,以在呈現主應用的用戶界面的同時在懸浮窗內播放視頻流。
[0050]在將服務器提供的與頻道標識對應的視頻流傳輸給第一窗口視圖之后,寄生工具包控制第一窗口視圖在其繪圖表面繪制視頻流對應的視頻界面,在所繪制的視頻界面內顯示視頻流,實現了在呈現主應用的用戶界面的同時在懸浮窗內播放視頻流。
[0051]步驟S207,根據用戶觸發的移動懸浮窗和/或改變懸浮窗大小的行為,修改懸浮窗的窗口位置參數和/或窗口尺寸參數,根據修改后的窗口位置參數和/或窗口尺寸參數對懸浮窗進行布局。
[0052]通過上述步驟創建的懸浮窗占用終端屏幕的一部分顯示區域,用于顯示用戶所啟動的視頻服務的用戶界面。當用戶觸發移動懸浮窗和/或改變懸浮窗大小時,為了便于用戶操作主應用,可修改懸浮窗的窗口位置參數和/或窗口尺寸參數,例如,同時修改懸浮窗的窗口位置參數和窗口尺寸參數,在修改后,使懸浮窗以修改后的窗口尺寸參數對應的尺寸顯示在終端屏幕的位置參數對應的位置。例如修改懸浮窗的窗口高度(height)或窗口寬度(width),使懸浮窗縮小,如縮小為原來的三分之一,從而為主應用留出更大的顯示空間。
[0053]根據本發明上述實施例提供的方法,通過創建懸浮窗,在懸浮窗內嵌入視頻播放器,將服務器提供的視頻流傳輸給視頻播放器,實現了呈現主應用的用戶界面的同時播放視頻,解決了用戶只能單獨使用其他應用或視頻應用,而不能在操作其他應用時同時顯示視頻應用的界面的缺陷,克服了現有技術中當需要操作其他應用或視頻應用時,都需要切換到相應的應用,導致操作不便的問題,大大提高了用戶操作的簡便性,節省用戶時間。
[0054]圖3示出了根據本發明一個實施例的利用寄生工具包實現的視頻播放裝置的結構框圖。如圖3所示,該裝置包括:呈現模塊300、創建模塊310、嵌入模塊320和傳輸模塊330。
[0055]呈現模塊300,適于主應用啟動時,在主應用的用戶界面中呈現視頻播放入口。
[0056]具體地,用戶在觸發主應用的圖標后,啟動主應用,啟動主應用時,在主應用的用戶界面中呈現視頻播放入口,其中,視頻播放入口可以以浮力球的形式展現。
[0057]創建模塊310,適于根據用戶觸發視頻播放入口的行為,創建懸浮窗。
[0058]具體地,當用戶想要在主應用中觀看視頻時,可以通過觸發視頻播放入口的方式啟動播放視頻,在檢測到用戶觸發視頻播放入口后,根據用戶的該行為,創建Floatwindow。F1atwindow的創建涉及到WindowManager接口,實現類有WindowManagerImpI,CompatModefcapper,Local WindowManager。具體地,寄生工具包的代碼啟動一個 Serv ice,然后在Service中創建懸浮窗。
[0059]懸浮窗是存在終端屏幕之上的浮動窗口,懸浮窗不隸屬于Activity界面,也不受Activity界面的覆蓋影響,但與Activity的生命周期相同。
[0060]嵌入模塊320,適于在懸浮窗內嵌入視頻播放器;其中懸浮窗的尺寸小于主應用的用戶界面的尺寸。
[0061 ]傳輸模塊330,適于將服務器提供的視頻流傳輸給視頻播放器。
[0062 ]呈現模塊300還適于:在呈現主應用的用戶界面的同時在懸浮窗內播放視頻流。
[0063]進一步的,視頻播放器通過第一窗口視圖來實現;
[0064]嵌入模塊320進一步適于:在懸浮窗內嵌入第一窗口視圖,創建第一窗口視圖的繪圖表面。
[0065]為了能夠使該懸浮窗顯示用戶所啟動的視頻服務的用戶界面,在創建懸浮窗之后,在懸浮窗內嵌入第一窗口視圖,該第一窗口視圖用于繪制視頻界面。這里第一窗口視圖可以為任何能夠顯示視頻服務所提供的用戶界面的視圖,本發明對此不作限制。本實施例以第一窗口視圖為surfaceview視圖為例進行說明。
[0066]在Android系統中,surfaceview具有獨立的繪圖表面,它不與其宿主窗口共享同一個繪圖表面。由于具有獨立的繪圖表面,因此surfaceview的用戶界面可在一個獨立的線程中進行繪制,而且又不會占用主線程資源。surfaceview—方面可以實現復雜而高效的UI繪制,另一方面又不會導致用戶輸入得不到及時響應。因此,使用surfaceview作為窗口視圖嵌入到懸浮窗中,可以實現復雜和高效的繪制。
[0067]進一步的,呈現模塊300進一步適于:控制第一窗口視圖在繪圖表面繪制視頻流對應的視頻界面。
[0068]進一步的,第一窗口視圖為surfaceview視圖。
[0069]進一步的,嵌入模塊320進一步適于:在懸浮窗內嵌入第二窗口視圖,第二窗口視圖位于視頻播放器之下;第二窗口視圖為非透明的背景視圖。
[0070]為了克服由于第一窗口視圖不能及時刷新而導致的第一窗口視圖被透到終端屏幕的缺陷,在懸浮窗內嵌入第二窗口視圖,設置第二窗口視圖與第一窗口視圖的相對位置關系,設定第二窗口視圖位于第一窗口視圖之下,即位于視頻播放器之下,并且第二窗口視圖為非透明的背景視圖,從而能夠解決第一窗口視圖被透到終端屏幕的問題。
[0071 ]進一步的,該裝置還包括:獲取模塊340,適于獲取頻道標識,將頻道標識傳輸給服務器。
[0072]具體地,頻道標識用于標示頻道,用于對多個頻道進行區分。在檢測到用戶選擇相應的頻道后,可以利用鉤子(hook)函數,獲取頻道標識,將所獲取到的頻道標識傳輸給服務器,以供服務器查找與該頻道標識對應的視頻流,從而根據用戶的需求播放相應的視頻。
[0073]傳輸模塊330進一步適于:將服務器提供的與頻道標識對應的視頻流傳輸給視頻播放器。
[0074]具體地,服務器在收到傳輸的頻道標識后,根據該頻道標識查找與該頻道標識匹配的視頻流,服務器將查找到的與頻道標識匹配的視頻流返回給終端,將服務器提供的與頻道標識對應的視頻流傳輸給第一窗口視圖。
[0075]進一步的,創建模塊310進一步適于:設置懸浮窗的窗口位置參數和窗口尺寸參數,使懸浮窗以窗口尺寸參數對應的尺寸顯示在窗口位置參數對應的位置。
[0076]在創建懸浮窗時,需要設置懸浮窗的窗口位置參數和窗口尺寸參數(包含width和height)。懸浮窗的窗口位置參數和窗口尺寸參數決定了懸浮窗以預設尺寸顯示在終端屏幕的預設位置。為了不影響用戶使用其他應用,懸浮窗的預設尺寸應小于終端屏幕的尺寸。
[0077]進一步的,該裝置還包括:修改模塊350,適于根據用戶觸發的移動懸浮窗和/或改變懸浮窗大小的行為,修改懸浮窗的窗口位置參數和/或窗口尺寸參數;
[0078]布局模塊360,適于根據修改后的窗口位置參數和/或窗口尺寸參數對懸浮窗進行布局。
[0079]通過上述步驟創建的懸浮窗占用終端屏幕的一部分顯示區域,用于顯示用戶所啟動的視頻服務的用戶界面。當用戶觸發移動懸浮窗和/或改變懸浮窗大小時,為了便于用戶操作主應用,可修改懸浮窗的窗口位置參數和/或窗口尺寸參數,例如,同時修改懸浮窗的窗口位置參數和窗口尺寸參數,在修改后,使懸浮窗以修改后的窗口尺寸參數對應的尺寸顯示在終端屏幕的位置參數對應的位置。例如修改懸浮窗的窗口高度(height)或窗口寬度(width),使懸浮窗縮小,如縮小為原來的三分之一,從而為主應用留出更大的顯示空間。
[0080]根據本發明上述實施例提供的裝置,通過創建懸浮窗,在懸浮窗內嵌入視頻播放器,將服務器提供的視頻流傳輸給視頻播放器,實現了呈現主應用的用戶界面的同時播放視頻,解決了用戶只能單獨使用其他應用或視頻應用,而不能在操作其他應用時同時顯示視頻應用的界面的缺陷,克服了現有技術中當需要操作其他應用或視頻應用時,都需要切換到相應的應用,導致操作不便的問題,大大提高了用戶操作的簡便性,節省用戶時間。
[0081]在此提供的算法和顯示不與任何特定計算機、虛擬系統或者其它設備固有相關。各種通用系統也可以與基于在此的示教一起使用。根據上面的描述,構造這類系統所要求的結構是顯而易見的。此外,本發明也不針對任何特定編程語言。應當明白,可以利用各種編程語言實現在此描述的本發明的內容,并且上面對特定語言所做的描述是為了披露本發明的最佳實施方式。
[0082]在此處所提供的說明書中,說明了大量具體細節。然而,能夠理解,本發明的實施例可以在沒有這些具體細節的情況下實踐。在一些實例中,并未詳細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。
[0083]類似地,應當理解,為了精簡本公開并幫助理解各個發明方面中的一個或多個,在上面對本發明的示例性實施例的描述中,本發明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應將該公開的方法解釋成反映如下意圖:即所要求保護的本發明要求比在每個權利要求中所明確記載的特征更多的特征。更確切地說,如下面的權利要求書所反映的那樣,發明方面在于少于前面公開的單個實施例的所有特征。因此,遵循【具體實施方式】的權利要求書由此明確地并入該【具體實施方式】,其中每個權利要求本身都作為本發明的單獨實施例。
[0084]本領域那些技術人員可以理解,可以對實施例中的設備中的模塊進行自適應性地改變并且把它們設置在與該實施例不同的一個或多個設備中。可以把實施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
[0085]此外,本領域的技術人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發明的范圍之內并且形成不同的實施例。例如,在下面的權利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。
[0086]本發明的各個部件實施例可以以硬件實現,或者以在一個或者多個處理器上運行的軟件模塊實現,或者以它們的組合實現。本領域的技術人員應當理解,可以在實踐中使用微處理器或者數字信號處理器(DSP)來實現根據本發明實施例的利用寄生工具包實現的視頻播放設備中的一些或者全部部件的一些或者全部功能。本發明還可以實現為用于執行這里所描述的方法的一部分或者全部的設備或者裝置程序(例如,計算機程序和計算機程序產品)。這樣的實現本發明的程序可以存儲在計算機可讀介質上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網網站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
[0087]應該注意的是上述實施例對本發明進行說明而不是對本發明進行限制,并且本領域技術人員在不脫離所附權利要求的范圍的情況下可設計出替換實施例。在權利要求中,不應將位于括號之間的任何參考符號構造成對權利要求的限制。單詞“包含”不排除存在未列在權利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發明可以借助于包括有若干不同元件的硬件以及借助于適當編程的計算機來實現。在列舉了若干裝置的單元權利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。
[0088]本發明公開了:A1、一種利用寄生工具包實現的視頻播放方法,其中所述寄生工具包與主應用預先綁定,以提供在所述主應用的用戶界面中播放視頻的功能,所述方法包括:
[0089]主應用啟動時,在主應用的用戶界面中呈現視頻播放入口 ;
[0090]根據用戶觸發所述視頻播放入口的行為,創建懸浮窗,在懸浮窗內嵌入視頻播放器;其中所述懸浮窗的尺寸小于所述主應用的用戶界面的尺寸;
[0091 ]將服務器提供的視頻流傳輸給所述視頻播放器,以在呈現所述主應用的用戶界面的同時在所述懸浮窗內播放所述視頻流。
[0092]A2、根據Al所述的方法,其中,所述視頻播放器通過第一窗口視圖來實現;
[0093]所述在懸浮窗內嵌入視頻播放器進一步包括:在懸浮窗內嵌入第一窗口視圖,創建第一窗口視圖的繪圖表面。
[0094]A3、根據A2所述的方法,其中,所述在懸浮窗內播放所述視頻流進一步包括:控制所述第一窗口視圖在繪圖表面繪制所述視頻流對應的視頻界面。
[°°95] A4、根據A2或A3所述的方法,其中,所述第一窗口視圖為surfaceview視圖。
[0096]A5、根據A1-A4任一項所述的方法,其中,所述方法還包括:
[0097]在所述懸浮窗內嵌入第二窗口視圖,所述第二窗口視圖位于所述視頻播放器之下;所述第二窗口視圖為非透明的背景視圖。
[0098]A6、根據A1-A5任一項所述的方法,其中,在所述將服務器提供的視頻流傳輸給所述視頻播放器之前,所述方法還包括:獲取頻道標識,將所述頻道標識傳輸給服務器;
[0099]所述將服務器提供的視頻流傳輸給所述視頻播放器進一步包括:將服務器提供的與所述頻道標識對應的視頻流傳輸給所述視頻播放器。
[0100]A7、根據A1-A6任一項所述的方法,其中,在創建懸浮窗的過程中,所述方法還包括:設置所述懸浮窗的窗口位置參數和窗口尺寸參數,使所述懸浮窗以所述窗口尺寸參數對應的尺寸顯示在所述窗口位置參數對應的位置。
[0101]AS、根據A7所述的方法,其中,在所述懸浮窗播放所述視頻流的之后,所述方法還包括:
[0102]根據用戶觸發的移動懸浮窗和/或改變懸浮窗大小的行為,修改所述懸浮窗的窗口位置參數和/或窗口尺寸參數,根據修改后的窗口位置參數和/或窗口尺寸參數對所述懸浮窗進行布局。
[0103]本發明還公開了:B9、一種利用寄生工具包實現的視頻播放裝置,其中所述寄生工具包與主應用預先綁定,以提供在所述主應用的用戶界面中播放視頻的功能,所述裝置包括:
[0104]呈現模塊,適于主應用啟動時,在主應用的用戶界面中呈現視頻播放入口 ;
[0105]創建模塊,適于根據用戶觸發所述視頻播放入口的行為,創建懸浮窗;
[0106]嵌入模塊,適于在懸浮窗內嵌入視頻播放器;其中所述懸浮窗的尺寸小于所述主應用的用戶界面的尺寸;
[0107]傳輸模塊,適于將服務器提供的視頻流傳輸給所述視頻播放器;
[0108]所述呈現模塊還適于:在呈現所述主應用的用戶界面的同時在所述懸浮窗內播放所述視頻流。
[0109]B10、根據B9所述的裝置,其中,所述視頻播放器通過第一窗口視圖來實現;
[0110]所述嵌入模塊進一步適于:在懸浮窗內嵌入第一窗口視圖,創建第一窗口視圖的繪圖表面。
[0111]B11、根據BlO所述的裝置,其中,所述呈現模塊進一步適于:控制所述第一窗口視圖在繪圖表面繪制所述視頻流對應的視頻界面。
[Ο112] B12、根據BlO或BI I所述的裝置,其中,所述第一窗口視圖為surfaceview視圖。
[0113]B13、根據B9-B12任一項所述的裝置,其中,所述嵌入模塊進一步適于:在所述懸浮窗內嵌入第二窗口視圖,所述第二窗口視圖位于所述視頻播放器之下;所述第二窗口視圖為非透明的背景視圖。
[0114]B14、根據B9-B13任一項所述的裝置,其中,所述裝置還包括:獲取模塊,適于獲取頻道標識,將所述頻道標識傳輸給服務器;
[0115]所述傳輸模塊進一步適于:將服務器提供的與所述頻道標識對應的視頻流傳輸給所述視頻播放器。
[0116]B15、根據B9-B14任一項所述的裝置,其中,所述創建模塊進一步適于:設置所述懸浮窗的窗口位置參數和窗口尺寸參數,使所述懸浮窗以所述窗口尺寸參數對應的尺寸顯示在所述窗口位置參數對應的位置。
[0117]B16、根據B15所述的裝置,其中,所述裝置還包括:修改模塊,適于根據用戶觸發的移動懸浮窗和/或改變懸浮窗大小的行為,修改所述懸浮窗的窗口位置參數和/或窗口尺寸參數;
[0118]布局模塊,適于根據修改后的窗口位置參數和/或窗口尺寸參數對所述懸浮窗進行布局。
【主權項】
1.一種利用寄生工具包實現的視頻播放方法,其中所述寄生工具包與主應用預先綁定,以提供在所述主應用的用戶界面中播放視頻的功能,所述方法包括: 主應用啟動時,在主應用的用戶界面中呈現視頻播放入口 ; 根據用戶觸發所述視頻播放入口的行為,創建懸浮窗,在懸浮窗內嵌入視頻播放器;其中所述懸浮窗的尺寸小于所述主應用的用戶界面的尺寸; 將服務器提供的視頻流傳輸給所述視頻播放器,以在呈現所述主應用的用戶界面的同時在所述懸浮窗內播放所述視頻流。2.根據權利要求1所述的方法,其中,所述視頻播放器通過第一窗口視圖來實現; 所述在懸浮窗內嵌入視頻播放器進一步包括:在懸浮窗內嵌入第一窗口視圖,創建第一窗口視圖的繪圖表面。3.根據權利要求2所述的方法,其中,所述在懸浮窗內播放所述視頻流進一步包括:控制所述第一窗口視圖在繪圖表面繪制所述視頻流對應的視頻界面。4.根據權利要求2或3所述的方法,其中,所述第一窗口視圖為surface V i ew視圖。5.根據權利要求1-4任一項所述的方法,其中,所述方法還包括: 在所述懸浮窗內嵌入第二窗口視圖,所述第二窗口視圖位于所述視頻播放器之下;所述第二窗口視圖為非透明的背景視圖。6.根據權利要求1-5任一項所述的方法,其中,在所述將服務器提供的視頻流傳輸給所述視頻播放器之前,所述方法還包括:獲取頻道標識,將所述頻道標識傳輸給服務器; 所述將服務器提供的視頻流傳輸給所述視頻播放器進一步包括:將服務器提供的與所述頻道標識對應的視頻流傳輸給所述視頻播放器。7.根據權利要求1-6任一項所述的方法,其中,在創建懸浮窗的過程中,所述方法還包括:設置所述懸浮窗的窗口位置參數和窗口尺寸參數,使所述懸浮窗以所述窗口尺寸參數對應的尺寸顯示在所述窗口位置參數對應的位置。8.根據權利要求7所述的方法,其中,在所述懸浮窗播放所述視頻流的之后,所述方法還包括: 根據用戶觸發的移動懸浮窗和/或改變懸浮窗大小的行為,修改所述懸浮窗的窗口位置參數和/或窗口尺寸參數,根據修改后的窗口位置參數和/或窗口尺寸參數對所述懸浮窗進行布局。9.一種利用寄生工具包實現的視頻播放裝置,其中所述寄生工具包與主應用預先綁定,以提供在所述主應用的用戶界面中播放視頻的功能,所述裝置包括: 呈現模塊,適于主應用啟動時,在主應用的用戶界面中呈現視頻播放入口; 創建模塊,適于根據用戶觸發所述視頻播放入口的行為,創建懸浮窗; 嵌入模塊,適于在懸浮窗內嵌入視頻播放器;其中所述懸浮窗的尺寸小于所述主應用的用戶界面的尺寸; 傳輸模塊,適于將服務器提供的視頻流傳輸給所述視頻播放器; 所述呈現模塊還適于:在呈現所述主應用的用戶界面的同時在所述懸浮窗內播放所述視頻流。10.根據權利要求9所述的裝置,其中,所述視頻播放器通過第一窗口視圖來實現; 所述嵌入模塊進一步適于:在懸浮窗內嵌入第一窗口視圖,創建第一窗口視圖的繪圖 bο ΙΤΓ? "VV
【文檔編號】H04N21/485GK105933779SQ201610482857
【公開日】2016年9月7日
【申請日】2016年6月27日
【發明人】王智源, 潘銘達
【申請人】北京奇虎科技有限公司, 奇智軟件(北京)有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1