欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

彈幕顯示方法和裝置的制造方法

文檔序號:10516294閱讀:835來源:國知局
彈幕顯示方法和裝置的制造方法
【專利摘要】本發(fā)明實(shí)施例公開了一種彈幕顯示方法和裝置。所述方法包括:在目標(biāo)視頻的播放過程中,UI主線程實(shí)時監(jiān)測彈幕顯示請求;在監(jiān)測到所述彈幕顯示請求時,所述UI主線程開啟至少一個后臺子線程;所述后臺子線程根據(jù)所述彈幕顯示請求以及設(shè)定的彈幕繪制規(guī)則,實(shí)時繪制彈幕內(nèi)容;所述UI主線程將所述后臺子線程繪制完成的所述彈幕內(nèi)容在所述目標(biāo)視頻的播放界面中進(jìn)行顯示。本發(fā)明優(yōu)化了現(xiàn)有的彈幕顯示技術(shù),減少了彈幕顯示任務(wù)對UI主線程資源的占用。
【專利說明】
彈幕顯示方法和裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明實(shí)施例涉及計(jì)算機(jī)技術(shù),尤其涉及一種彈幕顯示方法和裝置。
【背景技術(shù)】
[0002]彈幕顯示,是在顯示視頻時,將大量的用戶評論以滾動字幕形式顯示在視頻上的一種顯示方式。通過彈幕功能,用戶可以在網(wǎng)上觀看視頻時,增加自己的評論,并實(shí)時的顯示在視頻畫面的上方,同時,在用戶的本地客戶端中也可以顯示其他用戶對于該視頻增加的評論。通過這一功能,能夠增強(qiáng)觀看同一視頻的不同用戶之間的互動性。
[0003]在現(xiàn)有技術(shù)中,彈幕顯示功能主要通過UI (User Interface,用戶界面)主線程統(tǒng)一實(shí)現(xiàn)的。其中,對于Android(安卓)系統(tǒng)來說,當(dāng)一個應(yīng)用程序啟動后,系統(tǒng)會為該應(yīng)用程序創(chuàng)建一個名為“main”的主線程。這個主線程(也就是UI主線程)主要用于處理各種UI事件。通過在UI主線程中分發(fā)各種功能事件,可以執(zhí)行彈幕文字格式、彈幕彈出速度以及彈幕布局等控制操作。
[0004]現(xiàn)有的彈幕顯示技術(shù)的主要缺陷在于:彈幕顯示過程中需要實(shí)時繪制圖像以更新彈幕,因此,需要UI主線程不停的響應(yīng)畫圖任務(wù),在一定程度上會使得UI主線程會被畫圖函數(shù)阻塞,因而無法響應(yīng)按鍵以及觸屏等用戶操作,增加了用戶的操作等待時間,用戶體驗(yàn)差。

【發(fā)明內(nèi)容】

[0005]有鑒于此,本發(fā)明實(shí)施例提供一種彈幕顯示方法和裝置,以優(yōu)化現(xiàn)有的彈幕顯示技術(shù),減少彈幕顯示任務(wù)對UI主線程資源的占用。
[0006]在第一方面,本發(fā)明實(shí)施例提供了一種彈幕顯示方法,包括:
[0007]在目標(biāo)視頻的播放過程中,UI主線程實(shí)時監(jiān)測彈幕顯示請求;
[0008]在監(jiān)測到所述彈幕顯示請求時,所述UI主線程開啟至少一個后臺子線程;
[0009]所述后臺子線程根據(jù)所述彈幕顯示請求以及設(shè)定的彈幕繪制規(guī)則,實(shí)時繪制彈幕內(nèi)容;
[0010]所述UI主線程將所述后臺子線程繪制完成的所述彈幕內(nèi)容在所述目標(biāo)視頻的播放界面中進(jìn)行顯示。
[0011]在第二方面,本發(fā)明實(shí)施例提供了一種彈幕顯示裝置,包括:
[0012]彈幕顯示請求監(jiān)控模塊,用于在目標(biāo)視頻的播放過程中,通過UI主線程實(shí)時監(jiān)測彈幕顯示請求;
[0013]后臺子線程開啟模塊,用于在監(jiān)測到所述彈幕顯示請求時,通過所述UI主線程開啟至少一個后臺子線程;
[0014]彈幕內(nèi)容繪制模塊,用于通過所述后臺子線程根據(jù)所述彈幕顯示請求以及設(shè)定的彈幕繪制規(guī)則,實(shí)時繪制彈幕內(nèi)容;
[0015]彈幕顯示模塊,用于通過所述UI主線程將所述后臺子線程繪制完成的所述彈幕內(nèi)容在所述目標(biāo)視頻的播放界面中進(jìn)行顯示。
[0016]本發(fā)明實(shí)施例的技術(shù)方案在監(jiān)測到用戶發(fā)送的彈幕顯示請求時,不再占用UI主線程完成彈幕內(nèi)容的繪制,而是通過在UI主線程開啟至少一個后臺子線程,并通過所述后臺子線程實(shí)時繪制彈幕內(nèi)容后,經(jīng)由UI主線程繪制完成的彈幕內(nèi)容在視頻的播放界面中進(jìn)行顯示的技術(shù)手段,解決了現(xiàn)有的彈幕顯示技術(shù)需要UI主線程不停的響應(yīng)畫圖任務(wù),因而無法實(shí)時響應(yīng)按鍵以及觸屏等用戶操作,增加了用戶的操作等待時間,用戶體驗(yàn)差等問題,優(yōu)化了現(xiàn)有的彈幕顯示技術(shù),減少了彈幕顯示任務(wù)對UI主線程資源的占用。
【附圖說明】
[0017]圖1是本發(fā)明第一實(shí)施例的一種彈幕顯示方法的流程圖;
[0018]圖2是本發(fā)明第二實(shí)施例的一種彈幕顯示方法的流程圖;
[0019]圖3是本發(fā)明第三實(shí)施例的一種彈幕顯示方法的流程圖;
[0020]圖4是本發(fā)明第四實(shí)施例的一種彈幕顯示裝置的結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0021]為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖對本發(fā)明具體實(shí)施例作進(jìn)一步的詳細(xì)描述??梢岳斫獾氖?,此處所描述的具體實(shí)施例僅僅用于解釋本發(fā)明,而非對本發(fā)明的限定。
[0022]另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部內(nèi)容。在更加詳細(xì)地討論示例性實(shí)施例之前應(yīng)當(dāng)提到的是,一些示例性實(shí)施例被描述成作為流程圖描繪的處理或方法。雖然流程圖將各項(xiàng)操作(或步驟)描述成順序的處理,但是其中的許多操作可以被并行地、并發(fā)地或者同時實(shí)施。此外,各項(xiàng)操作的順序可以被重新安排。當(dāng)其操作完成時所述處理可以被終止,但是還可以具有未包括在附圖中的附加步驟。所述處理可以對應(yīng)于方法、函數(shù)、規(guī)程、子例程、子程序等等。
[0023]第一實(shí)施例
[0024]圖1為本發(fā)明第一實(shí)施例提供的彈幕顯示方法的流程圖,本實(shí)施例的方法可以由彈幕顯示裝置來執(zhí)行,該裝置可通過硬件和/或軟件的方式實(shí)現(xiàn),并一般可以集成于具有彈幕顯示功能的視頻播放器中,或作為視頻播放器的子程序。其中,所述視頻播放器可以為安裝于終端設(shè)備中的客戶端應(yīng)用程序,也可以為配置于網(wǎng)頁中的視頻播放插件,本實(shí)施例對此并不進(jìn)行限制。
[0025]本實(shí)施例的方法具體包括:
[0026]110、在目標(biāo)視頻的播放過程中,UI主線程實(shí)時監(jiān)測彈幕顯示請求。
[0027]—般來說,在視頻的播放過程中,用戶可以根據(jù)個人喜好打開或者關(guān)閉視頻播放器向用戶提供的彈幕顯示按鈕,以觀看或者屏蔽彈幕。
[0028]典型的,當(dāng)用戶在目標(biāo)視頻的播放界面中,點(diǎn)擊或者觸摸彈幕顯示按鈕打開彈幕功能時,觸發(fā)產(chǎn)生所述彈幕顯示請求。
[0029]如【背景技術(shù)】所述,UI主要用于處理各種UI事件并響應(yīng)按鍵以及觸屏等用戶操作,因此,在目標(biāo)視頻的播放過程中,所述UI主線程實(shí)時監(jiān)測由用戶操作所觸發(fā)產(chǎn)生的監(jiān)測彈幕顯示請求。
[0030]120、在監(jiān)測到所述彈幕顯示請求時,所述UI主線程開啟至少一個后臺子線程。
[0031]在本實(shí)施例中,UI主線程在監(jiān)測到所述彈幕顯示請求時,并不占用UI主線程中的珍貴資源來實(shí)現(xiàn)彈幕數(shù)據(jù)的讀取、彈幕繪制等彈幕處理功能,而是通過開啟后臺子線程的方式,將所述彈幕處理功能移交給后臺線程實(shí)現(xiàn),這樣就可以大大減少對UI主線程中資源的占用。
[0032]其中,UI主線程可以開啟一個或者多個后臺子線程來實(shí)現(xiàn)所述彈幕處理功能,本實(shí)施例對此并不進(jìn)行限制。
[0033]在本實(shí)施例的一個優(yōu)選的實(shí)施方式中,所述至少一個后臺子線程可以通過調(diào)用Android系統(tǒng)平臺的SurfaceView組件的Thread類的run方法實(shí)現(xiàn)。
[0034]其中,SurfaceView組件具有在獨(dú)立于UI主線程之外的后臺線程中向屏幕繪圖的功能,可以實(shí)現(xiàn)高效率的繪制二維圖或者顯示圖像,在Android系統(tǒng)平臺中,提供有功能完善的SurfaceView組件。一般來說,可以在UI主線程中通過接口 surf aceHolder.callback接口實(shí)現(xiàn)對SurfaceView組件的調(diào)用。
[0035]130、所述后臺子線程根據(jù)所述彈幕顯示請求以及設(shè)定的彈幕繪制規(guī)則,實(shí)時繪制彈幕內(nèi)容。
[0036]在本實(shí)施例中,為了最終實(shí)現(xiàn)將彈幕在目標(biāo)視頻的播放界面中進(jìn)行顯示,所述后臺子線程需要完成的操作主要包括:
[0037]獲取彈幕數(shù)據(jù),也就是需要獲取在播放界面中實(shí)時顯示的彈幕文字,一般來說,彈幕數(shù)據(jù)在存儲時是與視頻播放時間相對應(yīng)的,也就是說,在不同的視頻播放時間下所需要顯示的彈幕是不同的,因此需要首先根據(jù)當(dāng)前目標(biāo)視頻的播放時間,獲取對應(yīng)的彈幕數(shù)據(jù);
[0038]將獲取的彈幕數(shù)據(jù)按照設(shè)定的規(guī)則(例如,彈幕文字顏色以及彈幕文字顯示位置等)在畫布(Canvas)中進(jìn)行繪制。
[0039]因此,可以使用一個后臺子線程來完成上述操作,也可以使用兩個后臺子線程來配合完成上述操作。
[0040]其中,可以通過在SurfaceView組件的Thread類的run方法中添加對應(yīng)的功能代碼的方式為各后臺子線程的賦予不同的彈幕處理功能。
[0041]140、所述UI主線程將所述后臺子線程繪制完成的所述彈幕內(nèi)容在所述目標(biāo)視頻的播放界面中進(jìn)行顯示。
[0042]在本實(shí)施例中,UI主線程通過對后臺子線程繪制完成的所述彈幕內(nèi)容進(jìn)行渲染,即可實(shí)現(xiàn)將彈幕在目標(biāo)視頻的播放界面中進(jìn)行顯示。
[0043]典型的,后臺子線程在畫布中進(jìn)行繪圖后,繪制結(jié)果會緩存于SurfaceView中的成員變量Surf ace中,在后臺子線程繪制完成后,UI主線程獲取Surface中存儲的繪制結(jié)果在所述目標(biāo)視頻的播放界面中進(jìn)行顯示。
[0044]本發(fā)明實(shí)施例的方法在監(jiān)測到用戶發(fā)送的彈幕顯示請求時,不再占用UI主線程完成彈幕內(nèi)容的繪制,而是通過在UI主線程開啟至少一個后臺子線程,并通過所述后臺子線程實(shí)時繪制彈幕內(nèi)容后,經(jīng)由UI主線程繪制完成的彈幕內(nèi)容在視頻的播放界面中進(jìn)行顯示的技術(shù)手段,解決了現(xiàn)有的彈幕顯示技術(shù)需要UI主線程不停的響應(yīng)畫圖任務(wù),因而無法實(shí)時響應(yīng)按鍵以及觸屏等用戶操作,增加了用戶的操作等待時間,用戶體驗(yàn)差等問題,優(yōu)化了現(xiàn)有的彈幕顯示技術(shù),減少了彈幕顯示任務(wù)對UI主線程資源的占用。
[0045]第二實(shí)施例
[0046]圖2是本發(fā)明第二實(shí)施例的一種彈幕顯示方法的流程圖。本實(shí)施例以上述實(shí)施例為基礎(chǔ)進(jìn)行優(yōu)化,在本實(shí)施例中,將所述后臺子線程具體優(yōu)化為彈幕加載子線程以及彈幕繪制子線程;
[0047]同時。將所述后臺子線程根據(jù)所述彈幕顯示請求以及設(shè)定的彈幕繪制規(guī)則,實(shí)時繪制彈幕內(nèi)容具體優(yōu)化為:
[0048]所述彈幕加載子線程在設(shè)定彈幕數(shù)據(jù)存儲區(qū)域內(nèi)讀取與目標(biāo)視頻的當(dāng)前播放時間對應(yīng)的彈幕數(shù)據(jù),并將所述彈幕數(shù)據(jù)存儲于加載隊(duì)列中;所述彈幕繪制子線程從所述加載隊(duì)列中獲取所述彈幕數(shù)據(jù),并根據(jù)所述彈幕數(shù)據(jù)以及設(shè)定彈幕繪制規(guī)則實(shí)時繪制彈幕內(nèi)容。
[0049]相應(yīng)的,本實(shí)施例的方法具體包括:
[0050]210、在目標(biāo)視頻的播放過程中,UI主線程實(shí)時監(jiān)測彈幕顯示請求。
[0051 ] 220、在監(jiān)測到所述彈幕顯示請求時,所述UI主線程開啟彈幕加載子線程以及彈幕繪制子線程。
[0052]在本實(shí)施例中,通過使用彈幕加載子線程以及彈幕繪制子線程的配合,實(shí)現(xiàn)如前所述的彈幕處理功能。這樣設(shè)置的好處是:將彈幕數(shù)據(jù)的加載過程以及彈幕數(shù)據(jù)的繪制過程獨(dú)立開來,提高了對彈幕內(nèi)容的繪制效率。
[0053]230、所述彈幕加載子線程在設(shè)定彈幕數(shù)據(jù)存儲區(qū)域內(nèi)讀取與目標(biāo)視頻的當(dāng)前播放時間對應(yīng)的彈幕數(shù)據(jù),并將所述彈幕數(shù)據(jù)存儲于加載隊(duì)列中。
[0054]一般來說,目標(biāo)視頻中顯示的彈幕來源為各個不同的視頻觀看用戶對該目標(biāo)視頻實(shí)時發(fā)布的評論,其可以存儲于視頻服務(wù)器中也可以作為緩存文件存儲于視頻播放器所在的終端設(shè)備中。
[0055]相應(yīng)的,所述設(shè)定彈幕數(shù)據(jù)存儲區(qū)域可以為視頻服務(wù)器中設(shè)定的彈幕存儲文件也可以為終端設(shè)備中設(shè)定的彈幕緩存文件,本實(shí)施例對此并不進(jìn)行顯示。
[0056]其中,所述加載隊(duì)列為先進(jìn)先出隊(duì)列。
[0057]240、所述彈幕繪制子線程從所述加載隊(duì)列中獲取所述彈幕數(shù)據(jù),并根據(jù)所述彈幕數(shù)據(jù)以及設(shè)定彈幕繪制規(guī)則實(shí)時繪制彈幕內(nèi)容。
[0058]在本實(shí)施例的一個優(yōu)選的實(shí)施方式中,所述彈幕繪制子線程從所述加載隊(duì)列中獲取所述彈幕數(shù)據(jù)后,會相應(yīng)刪除所述加載隊(duì)列中已經(jīng)被獲取的彈幕數(shù)據(jù),以減少彈幕數(shù)據(jù)對內(nèi)容空間的占用。
[0059]250、所述UI主線程將所述后臺子線程繪制完成的所述彈幕內(nèi)容在所述目標(biāo)視頻的播放界面中進(jìn)行顯示。
[0060]本實(shí)施例的方法通過使用彈幕加載子線程以及彈幕繪制子線程的配合來完成對應(yīng)的彈幕處理功能,實(shí)現(xiàn)了將彈幕數(shù)據(jù)的加載過程以及彈幕數(shù)據(jù)的繪制過程獨(dú)立開來,并行執(zhí)行,進(jìn)一步提高了對彈幕內(nèi)容的繪制效率。
[0061 ] 第三實(shí)施例
[0062]圖3是本發(fā)明第三實(shí)施例的一種彈幕顯示方法的流程圖。本實(shí)施例以上述實(shí)施例為基礎(chǔ)進(jìn)行優(yōu)化,在本實(shí)施例中,將所述彈幕繪制子線程從所述加載隊(duì)列中獲取所述彈幕數(shù)據(jù),并根據(jù)所述彈幕數(shù)據(jù)以及設(shè)定彈幕繪制規(guī)則實(shí)時繪制彈幕內(nèi)容具體優(yōu)化為:
[0063]所述彈幕繪制子線程從所述加載隊(duì)列中獲取與單屏彈幕顯示數(shù)量對應(yīng)的所述彈幕數(shù)據(jù);所述彈幕繪制子線程根據(jù)彈幕顯示參數(shù),將獲取的所述彈幕數(shù)據(jù)實(shí)時繪制于一塊畫布中。
[0064]同時,所述彈幕繪制子線程優(yōu)選包括至少一個用戶輸入接口;
[0065]在所述UI主線程開啟所述彈幕繪制子線程之后,還優(yōu)選包括:
[0066]所述彈幕繪制子線程通過所述用戶輸入接口獲取用戶輸入的自定義參數(shù);其中,所述自定義參數(shù)包括自定義參數(shù)類型以及自定義參數(shù)值;所述彈幕繪制子線程將與所述自定義參數(shù)類型對應(yīng)的所述彈幕顯示參數(shù)的參數(shù)值調(diào)整為所述自定義參數(shù)值。
[0067]相應(yīng)的,本實(shí)施例的方法具體包括:
[0068]310、在目標(biāo)視頻的播放過程中,UI主線程實(shí)時監(jiān)測彈幕顯示請求。
[0069]320、在監(jiān)測到所述彈幕顯示請求時,所述UI主線程開啟彈幕加載子線程以及彈幕繪制子線程。
[0070]330、所述彈幕繪制子線程通過所述用戶輸入接口獲取用戶輸入的自定義參數(shù)。
[0071]在本實(shí)施例中,所述彈幕繪制子線程可以根據(jù)彈幕顯示參數(shù),對獲取的所述彈幕數(shù)據(jù)進(jìn)行繪制。優(yōu)選的,所述彈幕顯示參數(shù)可以包括下述至少一項(xiàng):彈幕文字顏色、彈幕文字大小、彈幕文字字體以及彈幕文字顯示位置以及彈幕文字滾動方向。
[0072]其中,為了實(shí)現(xiàn)用戶對目標(biāo)視頻播放界面中顯示的彈幕進(jìn)行靈活控制,本實(shí)施例的方法在彈幕繪制子線程中配置有用戶輸入接口,用戶可以通過該用戶輸入接口輸入完成對彈幕的顯示控制。例如:通過下拉菜單選擇或者手動輸入的方式輸入“彈幕字體,紅色”或者“彈幕文字大小,小四”等自定義參數(shù)至所述用戶輸入接口。
[0073]其中,所述自定義參數(shù)包括自定義參數(shù)類型(例如,“彈幕字體”)以及自定義參數(shù)值(例如,“紅色”)。
[0074]340、所述彈幕繪制子線程將與所述自定義參數(shù)類型對應(yīng)的所述彈幕顯示參數(shù)的參數(shù)值調(diào)整為所述自定義參數(shù)值。
[0075]350、所述彈幕加載子線程在設(shè)定彈幕數(shù)據(jù)存儲區(qū)域內(nèi)讀取與目標(biāo)視頻的當(dāng)前播放時間對應(yīng)的彈幕數(shù)據(jù),并將所述彈幕數(shù)據(jù)存儲于加載隊(duì)列中。
[0076]360、所述彈幕繪制子線程從所述加載隊(duì)列中獲取與單屏彈幕顯示數(shù)量對應(yīng)的所述彈幕數(shù)據(jù)。
[0077]—般來說,彈幕繪制子線程在一塊畫布中繪制的彈幕內(nèi)容會在一次屏幕刷新后顯示在目標(biāo)視頻的播放界面中,因此,彈幕繪制子線程可以在每次繪制前獲取與單屏彈幕顯示數(shù)量對應(yīng)的彈幕數(shù)據(jù)進(jìn)行彈幕繪制。
[0078]其中,所述單屏彈幕顯示數(shù)量具體是指,一次屏幕刷新后,在目標(biāo)視頻的播放界面中所顯示的彈幕數(shù)量。
[0079]其中,所述單屏彈幕顯示數(shù)量可以固定設(shè)置,也可以由用戶進(jìn)行自由設(shè)置,本實(shí)施例對此并不進(jìn)行顯示。
[0080]370、所述彈幕繪制子線程根據(jù)彈幕顯示參數(shù),將獲取的所述彈幕數(shù)據(jù)實(shí)時繪制于一塊畫布中。
[0081 ] 需要說明的是,本實(shí)施例中雖然將330—340的執(zhí)行順序放置于350—370之前,但是330—340的執(zhí)行與用戶輸入自定義參數(shù)的時機(jī)密切相關(guān),因此,330—340的執(zhí)行順序可以在350—370之前,也可以在350—370之后,還可以在350—370執(zhí)行過程中,中斷350—370
后執(zhí)行。
[0082]380、所述UI主線程將所述后臺子線程繪制完成的所述彈幕內(nèi)容在所述目標(biāo)視頻的播放界面中進(jìn)行顯示。
[0083]本實(shí)施的方法通過在彈幕繪制子線程中加入至少一個用戶輸入接口,可以實(shí)現(xiàn)根據(jù)用戶輸入的自定義參數(shù)修改彈幕顯示形式的技術(shù)效果,提高了彈幕顯示的靈活性,改善了用戶體驗(yàn)。
[0084]第四實(shí)施例
[0085]在圖4中示出了本發(fā)明第四實(shí)施例的一種彈幕顯示裝置的結(jié)構(gòu)圖,如圖4所示,所述裝置包括:
[0086]彈幕顯示請求監(jiān)控模塊41,用于在目標(biāo)視頻的播放過程中,通過UI主線程實(shí)時監(jiān)測彈幕顯示請求。
[0087]后臺子線程開啟模塊42,用于在監(jiān)測到所述彈幕顯示請求時,通過所述UI主線程開啟至少一個后臺子線程。
[0088]彈幕內(nèi)容繪制模塊43,用于通過所述后臺子線程根據(jù)所述彈幕顯示請求以及設(shè)定的彈幕繪制規(guī)則,實(shí)時繪制彈幕內(nèi)容。
[0089]彈幕顯示模塊44,用于通過所述UI主線程將所述后臺子線程繪制完成的所述彈幕內(nèi)容在所述目標(biāo)視頻的播放界面中進(jìn)行顯示。
[0090]本發(fā)明實(shí)施例的裝置在監(jiān)測到用戶發(fā)送的彈幕顯示請求時,不再占用UI主線程完成彈幕內(nèi)容的繪制,而是通過在UI主線程開啟至少一個后臺子線程,并通過所述后臺子線程實(shí)時繪制彈幕內(nèi)容后,經(jīng)由UI主線程繪制完成的彈幕內(nèi)容在視頻的播放界面中進(jìn)行顯示的技術(shù)手段,解決了現(xiàn)有的彈幕顯示技術(shù)需要UI主線程不停的響應(yīng)畫圖任務(wù),因而無法實(shí)時響應(yīng)按鍵以及觸屏等用戶操作,增加了用戶的操作等待時間,用戶體驗(yàn)差等問題,優(yōu)化了現(xiàn)有的彈幕顯示技術(shù),減少了彈幕顯示任務(wù)對UI主線程資源的占用。
[0091]在上述各實(shí)施例的基礎(chǔ)上,所述后臺子線程可以包括彈幕加載子線程以及彈幕繪制子線程;
[0092]相應(yīng)的,所述后臺子線程開啟模塊可以包括:
[0093]彈幕加載子單元,用于通過所述彈幕加載子線程在設(shè)定彈幕數(shù)據(jù)存儲區(qū)域內(nèi)讀取與目標(biāo)視頻的當(dāng)前播放時間對應(yīng)的彈幕數(shù)據(jù),并將所述彈幕數(shù)據(jù)存儲于加載隊(duì)列中;
[0094]彈幕繪制子單元,用于通過所述彈幕繪制子線程從所述加載隊(duì)列中獲取所述彈幕數(shù)據(jù),并根據(jù)所述彈幕數(shù)據(jù)以及設(shè)定彈幕繪制規(guī)則實(shí)時繪制彈幕內(nèi)容。
[0095]在上述各實(shí)施例的基礎(chǔ)上,所述彈幕繪制子單元具體可以用于:
[0096]通過所述彈幕繪制子線程從所述加載隊(duì)列中獲取與單屏彈幕顯示數(shù)量對應(yīng)的所述彈蒂數(shù)據(jù);
[0097]通過所述彈幕繪制子線程根據(jù)彈幕顯示參數(shù),將獲取的所述彈幕數(shù)據(jù)實(shí)時繪制于一塊畫布中。
[0098]在上述各實(shí)施例的基礎(chǔ)上,所述彈幕顯示參數(shù)可以包括下述至少一項(xiàng):彈幕文字顏色、彈幕文字大小、彈幕文字字體以及彈幕文字顯示位置以及彈幕文字滾動方向。
[0099]在上述各實(shí)施例的基礎(chǔ)上,所述彈幕繪制子線程包括至少一個用戶輸入接口;
[0100]相應(yīng)的,還可以包括:
[0101]參數(shù)修改模塊,用于在所述UI主線程開啟所述彈幕繪制子線程之后,采用所述彈幕繪制子線程通過所述用戶輸入接口獲取用戶輸入的自定義參數(shù);其中,所述自定義參數(shù)包括自定義參數(shù)類型以及自定義參數(shù)值;
[0102]采用所述彈幕繪制子線程將與所述自定義參數(shù)類型對應(yīng)的所述彈幕顯示參數(shù)的參數(shù)值調(diào)整為所述自定義參數(shù)值。
[0103]在上述各實(shí)施例的基礎(chǔ)上,所述至少一個后臺子線程可以通過調(diào)用Android系統(tǒng)平臺的SurfaceV i ew組件的Thr ead類的run方法實(shí)現(xiàn)。
[0104]本發(fā)明實(shí)施例所提供的彈幕顯示裝置可用于執(zhí)行本發(fā)明任意實(shí)施例提供的彈幕顯示方法,具備相應(yīng)的功能模塊,實(shí)現(xiàn)相同的有益效果。
[0105]顯然,本領(lǐng)域技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以通過如上所述的視頻播放器實(shí)施??蛇x地,本發(fā)明實(shí)施例可以用計(jì)算機(jī)裝置可執(zhí)行的程序來實(shí)現(xiàn),從而可以將它們存儲在存儲裝置中由處理器來執(zhí)行,所述的程序可以存儲于一種計(jì)算機(jī)可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等;或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件的結(jié)合。
[0106]以上所述僅為本發(fā)明的優(yōu)選實(shí)施例,并不用于限制本發(fā)明,對于本領(lǐng)域技術(shù)人員而言,本發(fā)明可以有各種改動和變化。凡在本發(fā)明的精神和原理之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1.一種彈幕顯示方法,其特征在于,包括: 在目標(biāo)視頻的播放過程中,用戶界面UI主線程實(shí)時監(jiān)測彈幕顯示請求; 在監(jiān)測到所述彈幕顯示請求時,所述UI主線程開啟至少一個后臺子線程; 所述后臺子線程根據(jù)所述彈幕顯示請求以及設(shè)定的彈幕繪制規(guī)則,實(shí)時繪制彈幕內(nèi)容; 所述UI主線程將所述后臺子線程繪制完成的所述彈幕內(nèi)容在所述目標(biāo)視頻的播放界面中進(jìn)行顯示。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述后臺子線程包括彈幕加載子線程以及彈幕繪制子線程; 所述后臺子線程根據(jù)所述彈幕顯示請求以及設(shè)定的彈幕繪制規(guī)則,實(shí)時繪制彈幕內(nèi)容包括: 所述彈幕加載子線程在設(shè)定彈幕數(shù)據(jù)存儲區(qū)域內(nèi)讀取與目標(biāo)視頻的當(dāng)前播放時間對應(yīng)的彈幕數(shù)據(jù),并將所述彈幕數(shù)據(jù)存儲于加載隊(duì)列中; 所述彈幕繪制子線程從所述加載隊(duì)列中獲取所述彈幕數(shù)據(jù),并根據(jù)所述彈幕數(shù)據(jù)以及設(shè)定彈幕繪制規(guī)則實(shí)時繪制彈幕內(nèi)容。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述彈幕繪制子線程從所述加載隊(duì)列中獲取所述彈幕數(shù)據(jù),并根據(jù)所述彈幕數(shù)據(jù)以及設(shè)定彈幕繪制規(guī)則實(shí)時繪制彈幕內(nèi)容具體包括: 所述彈幕繪制子線程從所述加載隊(duì)列中獲取與單屏彈幕顯示數(shù)量對應(yīng)的所述彈幕數(shù)據(jù); 所述彈幕繪制子線程根據(jù)彈幕顯示參數(shù),將獲取的所述彈幕數(shù)據(jù)實(shí)時繪制于一塊畫布中。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述彈幕顯示參數(shù)包括下述至少一項(xiàng):彈幕文字顏色、彈幕文字大小、彈幕文字字體以及彈幕文字顯示位置、以及彈幕文字滾動方向。5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述彈幕繪制子線程包括至少一個用戶輸入接口; 相應(yīng)的,在所述UI主線程開啟所述彈幕繪制子線程之后,還包括: 所述彈幕繪制子線程通過所述用戶輸入接口獲取用戶輸入的自定義參數(shù);其中,所述自定義參數(shù)包括自定義參數(shù)類型以及自定義參數(shù)值; 所述彈幕繪制子線程將與所述自定義參數(shù)類型對應(yīng)的所述彈幕顯示參數(shù)的參數(shù)值調(diào)整為所述自定義參數(shù)值。6.根據(jù)權(quán)利要求1-5任一所述的方法,其特征在于,所述至少一個后臺子線程通過調(diào)用Android系統(tǒng)平臺的SurfaceView組件的Thread類的run方法實(shí)現(xiàn)。7.一種彈幕顯示裝置,其特征在于,包括: 彈幕顯示請求監(jiān)控模塊,用于在目標(biāo)視頻的播放過程中,通過用戶界面UI主線程實(shí)時監(jiān)測彈幕顯示請求; 后臺子線程開啟模塊,用于在監(jiān)測到所述彈幕顯示請求時,通過所述UI主線程開啟至少一個后臺子線程; 彈幕內(nèi)容繪制模塊,用于通過所述后臺子線程根據(jù)所述彈幕顯示請求以及設(shè)定的彈幕繪制規(guī)則,實(shí)時繪制彈幕內(nèi)容; 彈幕顯示模塊,用于通過所述UI主線程將所述后臺子線程繪制完成的所述彈幕內(nèi)容在所述目標(biāo)視頻的播放界面中進(jìn)行顯示。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述后臺子線程包括彈幕加載子線程以及彈幕繪制子線程; 所述后臺子線程開啟模塊包括: 彈幕加載子單元,用于通過所述彈幕加載子線程在設(shè)定彈幕數(shù)據(jù)存儲區(qū)域內(nèi)讀取與目標(biāo)視頻的當(dāng)前播放時間對應(yīng)的彈幕數(shù)據(jù),并將所述彈幕數(shù)據(jù)存儲于加載隊(duì)列中; 彈幕繪制子單元,用于通過所述彈幕繪制子線程從所述加載隊(duì)列中獲取所述彈幕數(shù)據(jù),并根據(jù)所述彈幕數(shù)據(jù)以及設(shè)定彈幕繪制規(guī)則實(shí)時繪制彈幕內(nèi)容。9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述彈幕繪制子單元具體用于: 通過所述彈幕繪制子線程從所述加載隊(duì)列中獲取與單屏彈幕顯示數(shù)量對應(yīng)的所述彈幕數(shù)據(jù); 通過所述彈幕繪制子線程根據(jù)彈幕顯示參數(shù),將獲取的所述彈幕數(shù)據(jù)實(shí)時繪制于一塊畫布中。10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述彈幕顯示參數(shù)包括下述至少一項(xiàng):彈幕文字顏色、彈幕文字大小、彈幕文字字體以及彈幕文字顯示位置以及彈幕文字滾動方向。11.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述彈幕繪制子線程包括至少一個用戶輸入接口; 相應(yīng)的,還包括: 參數(shù)修改模塊,用于在采用所述UI主線程開啟所述彈幕繪制子線程之后,采用所述彈幕繪制子線程通過所述用戶輸入接口獲取用戶輸入的自定義參數(shù);其中,所述自定義參數(shù)包括自定義參數(shù)類型以及自定義參數(shù)值; 采用所述彈幕繪制子線程將與所述自定義參數(shù)類型對應(yīng)的所述彈幕顯示參數(shù)的參數(shù)值調(diào)整為所述自定義參數(shù)值。12.根據(jù)權(quán)利要求7-11任一所述的裝置,其特征在于,所述至少一個后臺子線程通過調(diào)用Android系統(tǒng)平臺的SurfaceView組件的Thread類的run方法實(shí)現(xiàn)。
【文檔編號】H04N21/442GK105872679SQ201511026842
【公開日】2016年8月17日
【申請日】2015年12月31日
【發(fā)明人】李欣
【申請人】樂視網(wǎng)信息技術(shù)(北京)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
泉州市| 景泰县| 永嘉县| 汕尾市| 马尔康县| 剑川县| 聂拉木县| 绵阳市| 司法| 宾阳县| 安阳县| 雷波县| 武汉市| 淮滨县| 六盘水市| 天峻县| 彝良县| 光泽县| 沛县| 山西省| 宁海县| 莱州市| 灵川县| 冷水江市| 巫溪县| 承德县| 祁门县| 夹江县| 三门县| 霍州市| 东阿县| 龙南县| 龙胜| 北京市| 威远县| 延庆县| 无极县| 宁强县| 普定县| 峡江县| 平远县|