本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別是涉及一種彈幕顯示的方法及裝置。
背景技術(shù):
用戶在互聯(lián)網(wǎng)站上觀看視頻,或者聆聽歌曲時(shí),會(huì)對(duì)該視頻或者歌曲進(jìn)行評(píng)論。視頻網(wǎng)站將大量用戶發(fā)送的文字評(píng)論,以字幕彈的形式顯示在播放器上,并使得各用戶所發(fā)送的文字評(píng)論在播放器的屏幕上,按照預(yù)先設(shè)置的位置和方向移動(dòng),最終移出該播放器的屏幕,從而形成彈幕。
目前,現(xiàn)有技術(shù)中所顯示的彈幕,只能顯示用戶發(fā)送的文字評(píng)論內(nèi)容,顯示的內(nèi)容單一,無法給提供發(fā)送彈幕的用戶信息,用戶無法對(duì)有共鳴的彈幕進(jìn)行有效地回應(yīng),降低了各個(gè)用戶之間交互的可能性。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明解決的技術(shù)問題在于提供一種彈幕顯示的方法及裝置,從而能夠顯示發(fā)送彈幕的用戶的基本信息,提高各個(gè)用戶之間交互的可能性。
為此,本發(fā)明解決技術(shù)問題的技術(shù)方案是:
一種彈幕顯示的方法,所述方法包括:
獲取彈幕文字,以及發(fā)送所述彈幕文字的用戶信息;
將所述彈幕文字與發(fā)送所述彈幕文字的用戶信息合成獲得彈幕,所述用戶信息包括用戶名和/或用戶頭像;
設(shè)置所述彈幕的顯示參數(shù),根據(jù)所述顯示參數(shù)將所述彈幕渲染在當(dāng)前所播放的媒體文件上,所述顯示參數(shù)包括顯示坐標(biāo),顯示長(zhǎng)度,顯示高度,以及顯示速度。
可選的,所述獲取彈幕文字,以及發(fā)送所述彈幕文字的用戶信息包括:
接收彈幕發(fā)送請(qǐng)求,所述彈幕發(fā)送請(qǐng)求包括用戶輸入的彈幕文字以及所述用戶的標(biāo)識(shí);
根據(jù)所述用戶的標(biāo)識(shí)獲得所述用戶信息。
可選的,所述方法還包括:
生成彈幕的標(biāo)識(shí);
存儲(chǔ)所述彈幕的標(biāo)識(shí),用戶輸入的彈幕文字以及所述用戶的標(biāo)識(shí)的對(duì)應(yīng)關(guān)系。
可選的,所述方法還包括:
獲取第一播放進(jìn)度,所述第一播放進(jìn)度用于表征接收到所述彈幕發(fā)送請(qǐng)求時(shí),所述媒體文件的播放進(jìn)度;
獲取所述第一播放進(jìn)度所屬的預(yù)設(shè)的時(shí)間區(qū)間作為第一時(shí)間區(qū)間,所述預(yù)設(shè)的時(shí)間區(qū)間是預(yù)先對(duì)所述媒體文件的播放時(shí)間劃分得到的多個(gè)時(shí)間區(qū)間;
將所述彈幕的標(biāo)識(shí)存儲(chǔ)至所述第一時(shí)間區(qū)間對(duì)應(yīng)的第一標(biāo)識(shí)集合。
可選的,所述獲取彈幕文字,以及發(fā)送所述彈幕文字的用戶信息包括:
接收彈幕顯示請(qǐng)求,所述彈幕顯示請(qǐng)求包括當(dāng)前所播放的媒體文件的標(biāo)識(shí);
獲取所述媒體文件的標(biāo)識(shí)對(duì)應(yīng)的彈幕的標(biāo)識(shí);
根據(jù)彈幕的標(biāo)識(shí)獲取所述彈幕的彈幕文字和發(fā)送所述彈幕文字的用戶信息。
可選的,所述獲取所述媒體文件的標(biāo)識(shí)對(duì)應(yīng)的彈幕的標(biāo)識(shí)包括:
獲取所述媒體文件的第二播放進(jìn)度;
獲取所述第二播放進(jìn)度所屬的預(yù)設(shè)的時(shí)間區(qū)間作為第二時(shí)間區(qū)間;
獲取所述第二時(shí)間區(qū)間對(duì)應(yīng)的第二標(biāo)識(shí)集合,所述第二標(biāo)識(shí)集合包括至少一個(gè)彈幕的標(biāo)識(shí),所述第二標(biāo)識(shí)集合包括在所述第二時(shí)間區(qū)間內(nèi)所生成的彈幕的標(biāo)識(shí)。
可選的,所述方法還包括:
獲取所述第二標(biāo)識(shí)集合中各個(gè)彈幕的標(biāo)識(shí)對(duì)應(yīng)的點(diǎn)贊數(shù)量;
將所述第二標(biāo)識(shí)集合中的各個(gè)彈幕的標(biāo)識(shí)按照點(diǎn)贊數(shù)量由大到小排序;
獲取排列在前的預(yù)設(shè)個(gè)數(shù)的彈幕的標(biāo)識(shí)。
可選的,
所述顯示參數(shù)還包括顯示時(shí)間,所述顯示時(shí)間用于表征所述彈幕顯示在所述媒體文件上的起始時(shí)刻。
可選的,
所述顯示參數(shù)還包括特效參數(shù),所述特效參數(shù)用于提供所述彈幕文字顯示的特效。
一種彈幕顯示的裝置,所述裝置包括:
第一獲取單元,用于獲取彈幕文字,以及發(fā)送所述彈幕文字的用戶信息;
合成單元,用于將所述彈幕文字與發(fā)送所述彈幕文字的用戶信息合成獲得彈幕,所述用戶信息包括用戶名和/或用戶頭像;
顯示單元,用于設(shè)置所述彈幕的顯示參數(shù),根據(jù)所述顯示參數(shù)將所述彈幕渲染在當(dāng)前所播放的媒體文件上,所述顯示參數(shù)包括顯示坐標(biāo),顯示長(zhǎng)度,顯示高度,以及顯示速度。
可選的,所述第一獲取單元包括:
第一接收子單元,用于接收彈幕發(fā)送請(qǐng)求,所述彈幕發(fā)送請(qǐng)求包括用戶輸入的彈幕文字以及所述用戶的標(biāo)識(shí);
第一獲取子單元,用于根據(jù)所述用戶的標(biāo)識(shí)獲取所述用戶信息。
可選的,所述裝置還包括:
生成單元,用于生成彈幕的標(biāo)識(shí);
第一存儲(chǔ)單元,用于存儲(chǔ)所述彈幕的標(biāo)識(shí),用戶輸入的彈幕文字以及所述用戶的標(biāo)識(shí)的對(duì)應(yīng)關(guān)系。
可選的,所述裝置還包括:
第二獲取單元,用于獲取第一播放進(jìn)度,所述第一播放進(jìn)度用于表征接收到所述彈幕發(fā)送請(qǐng)求時(shí),所述媒體文件的播放進(jìn)度;
第三獲取單元,用于獲取所述第一播放進(jìn)度所屬的預(yù)設(shè)的時(shí)間區(qū)間作為第一時(shí)間區(qū)間,所述預(yù)設(shè)的時(shí)間區(qū)間是預(yù)先對(duì)所述媒體文件的播放時(shí)間劃分得到的多個(gè)時(shí)間區(qū)間;
第二存儲(chǔ)單元,用于將所述彈幕的標(biāo)識(shí)存儲(chǔ)至所述第一時(shí)間區(qū)間對(duì)應(yīng)的第一標(biāo)識(shí)集合。
可選的,所述第一獲取單元包括:
第二接收子單元,用于接收彈幕顯示請(qǐng)求,所述彈幕顯示請(qǐng)求包括當(dāng)前所播放的媒體文件的標(biāo)識(shí);
第二獲取子單元,用于獲取所述媒體文件的標(biāo)識(shí)對(duì)應(yīng)的彈幕的標(biāo)識(shí);
第三獲取子單元,用于根據(jù)彈幕的標(biāo)識(shí)獲取所述彈幕的彈幕文字和發(fā)送所述彈幕文字的用戶信息。
可選的,
所述第二獲取子單元,用于獲取所述媒體文件的第二播放進(jìn)度;獲取所述第二播放進(jìn)度所屬的預(yù)設(shè)的時(shí)間區(qū)間作為第二時(shí)間區(qū)間;獲取所述第二時(shí)間區(qū)間對(duì)應(yīng)的第二標(biāo)識(shí)集合,所述第二標(biāo)識(shí)集合包括至少一個(gè)彈幕的標(biāo)識(shí),所述第二標(biāo)識(shí)集合包括在所述第二時(shí)間區(qū)間內(nèi)所生成的彈幕的標(biāo)識(shí)。
可選的,所述裝置還包括:
第四獲取單元,用于獲取所述第二標(biāo)識(shí)集合中各個(gè)彈幕的標(biāo)識(shí)對(duì)應(yīng)的點(diǎn)贊數(shù)量;
排序單元,用于將所述第二標(biāo)識(shí)集合中的各個(gè)彈幕的標(biāo)識(shí)按照點(diǎn)贊數(shù)量由大到小排序;
第五獲取單元,用于獲取排列在前的預(yù)設(shè)個(gè)數(shù)的彈幕的標(biāo)識(shí)。
通過上述技術(shù)方案可知,本發(fā)明有如下有益效果:
本發(fā)明實(shí)施例提供了彈幕顯示的方法及裝置,包括獲取彈幕文字,以及發(fā)送所述彈幕文字的用戶信息;將所述彈幕文字與發(fā)送所述彈幕文字的用戶信息合成獲得彈幕,所述用戶信息包括用戶名和/或用戶頭像;設(shè)置所述彈幕的顯示參數(shù),根據(jù)所述顯示參數(shù)將所述彈幕渲染在當(dāng)前所播放的媒體文件上,所述顯示參數(shù)包括顯示坐標(biāo),顯示寬度,顯示高度,以及顯示速度。該彈幕顯示在當(dāng)前所播放的媒體文件上時(shí),不僅包括彈幕文字,還包括用戶信息,能夠提供發(fā)送彈幕的用戶信息,用戶可以對(duì)有共鳴的彈幕進(jìn)行有效地回應(yīng),提高了各個(gè)用戶之間交互的可能性。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的彈幕顯示的方法流程圖;
圖2為本發(fā)明實(shí)施例提供的彈幕的顯示參數(shù)示意圖;
圖3為本發(fā)明實(shí)施例提供的彈幕的顯示效果示意圖;
圖4為本發(fā)明實(shí)施例提供的彈幕顯示的方法一實(shí)例流程圖;
圖5為本發(fā)明實(shí)施例提供的彈幕顯示的方法另一實(shí)例流程圖;
圖6為本發(fā)明實(shí)施例提供的彈幕顯示的裝置結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了給出在彈幕中顯示用戶信息的實(shí)現(xiàn)方案,本發(fā)明實(shí)施例提供了一種彈幕顯示的方法及裝置,以下結(jié)合說明書附圖對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說明。
圖1為本發(fā)明實(shí)施例提供的彈幕顯示的方法流程圖,包括:
101:獲取彈幕文字,以及發(fā)送所述彈幕文字的用戶信息。
彈幕文字,指的是顯示在當(dāng)前所播放的媒體文件上的彈幕中的文字評(píng)論。彈幕文字,是用戶針對(duì)該媒體文件的內(nèi)容發(fā)送的文字評(píng)論。因此,可以理解的是,一般情況下,不同的媒體文件的彈幕文字不同。
用戶信息,是發(fā)送彈幕文字的用戶的信息。對(duì)于同一個(gè)用戶來說,可能針對(duì)同一個(gè)媒體文件發(fā)送多個(gè)彈幕文字。因此,可以理解的是,不同的彈幕文字對(duì)應(yīng)的用戶信息,可能相同,也可能不同。
獲取彈幕文字,以及發(fā)送該彈幕文字的用戶信息,包括至少兩種可能的實(shí)現(xiàn)方式,如下逐一進(jìn)行詳細(xì)分析。
第一種可能的實(shí)現(xiàn)方式,應(yīng)用于該彈幕文字是用戶即時(shí)發(fā)送的:
接收彈幕發(fā)送請(qǐng)求,所述彈幕發(fā)送請(qǐng)求包括用戶輸入的彈幕文字以及所述用戶的標(biāo)識(shí);
根據(jù)所述用戶的標(biāo)識(shí)獲得所述用戶信息。
客戶端將用戶界面顯示給用戶,用戶在用戶界面中的彈幕輸入框中輸入彈幕文字,并點(diǎn)擊發(fā)送按鈕。客戶端檢測(cè)到用戶對(duì)發(fā)送按鈕的觸發(fā)后,向服務(wù)器發(fā)送彈幕發(fā)送請(qǐng)求,該彈幕發(fā)送請(qǐng)求包括用戶輸入的彈幕文字,以及該用戶的標(biāo)識(shí)。
服務(wù)器接收到彈幕發(fā)送請(qǐng)求,獲取該彈幕發(fā)送請(qǐng)求中的彈幕文字,并根據(jù)彈幕發(fā)送請(qǐng)求中的用戶的標(biāo)識(shí)獲得用戶信息。從而根據(jù)該彈幕文字,以及用戶信息生成一個(gè)彈幕顯示在當(dāng)前所播放的媒體文件上。應(yīng)用于即時(shí)顯示用戶發(fā)送的彈幕的場(chǎng)景。
第二種可能的實(shí)現(xiàn)方式,應(yīng)用于該彈幕文字是非即時(shí)發(fā)送的,是已存儲(chǔ)的彈幕文字:
接收彈幕顯示請(qǐng)求,所述彈幕顯示請(qǐng)求包括當(dāng)前所播放的媒體文件的標(biāo)識(shí);
獲取所述媒體文件的標(biāo)識(shí)對(duì)應(yīng)的彈幕的標(biāo)識(shí);
根據(jù)彈幕的標(biāo)識(shí)獲取所述彈幕的彈幕文字和發(fā)送所述彈幕文字的用戶信息。
客戶端將用戶界面顯示給用戶,用戶界面的播放器當(dāng)前向用戶播放一個(gè)媒體文,該用戶界面上設(shè)置有彈幕顯示按鈕。用戶點(diǎn)擊該彈幕顯示按鈕時(shí),客戶端檢測(cè)到用戶對(duì)彈幕顯示按鈕的觸發(fā)后,向服務(wù)器發(fā)送彈幕顯示請(qǐng)求。
服務(wù)器接收到彈幕顯示請(qǐng)求后,獲取該彈幕顯示請(qǐng)求中的當(dāng)前所播放的媒體文件的標(biāo)識(shí)所對(duì)應(yīng)的彈幕的標(biāo)識(shí)。這里需要說明的是,用戶只能請(qǐng)求顯示播放器中當(dāng)前所播放的媒體文件的彈幕,即播放該媒體文件時(shí),各個(gè)用戶所發(fā)送的彈幕文字所生成的彈幕。并且,當(dāng)前所播放的媒體文件的標(biāo)識(shí)所對(duì)應(yīng)的彈幕的標(biāo)識(shí),一般情況下,該彈幕的標(biāo)識(shí)有多個(gè),分別對(duì)應(yīng)于不同的用戶發(fā)送的彈幕文字。
服務(wù)器中可以根據(jù)所獲得的各個(gè)彈幕的標(biāo)識(shí),獲取每個(gè)彈幕標(biāo)識(shí)對(duì)應(yīng)的彈幕文字,以及發(fā)送該彈幕文字的用戶信息。在一個(gè)例子中,服務(wù)器存儲(chǔ)有彈幕的標(biāo)識(shí),彈幕文字,以及發(fā)送該彈幕文字的用戶信息的對(duì)應(yīng)關(guān)系,則服務(wù)器獲得彈幕的標(biāo)識(shí)后,可以獲取每個(gè)彈幕的標(biāo)識(shí)對(duì)應(yīng)的彈幕文字,以及發(fā)送該彈幕文字的用戶信息。在另一個(gè)例子中,服務(wù)器存儲(chǔ)有彈幕的標(biāo)識(shí),彈幕文字,以及發(fā)送該彈幕文字的用戶的標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,還存儲(chǔ)有用戶的標(biāo)識(shí)與用戶信息的對(duì)應(yīng)關(guān)系。服務(wù)器根據(jù)彈幕的標(biāo)識(shí)獲得彈幕文字,以及發(fā)送該彈幕文字的用戶的標(biāo)識(shí),再根據(jù)用戶的標(biāo)識(shí)獲得用戶信息。
將第一種實(shí)現(xiàn)方式與第二種實(shí)現(xiàn)方式進(jìn)行比較,第一種實(shí)現(xiàn)方式中,用戶會(huì)在用戶界面的彈幕輸入框中輸入彈幕文字,而第二種實(shí)現(xiàn)方式中,用戶并未在用戶界面的彈幕輸入框中輸入任何文字;第一種實(shí)現(xiàn)方式中,所顯示的是當(dāng)前觀看該媒體文件的用戶發(fā)送的彈幕文字,而第二種實(shí)現(xiàn)方式中,所顯示的是曾經(jīng)觀看過該媒體文件的用戶發(fā)送的彈幕文字,不是由用戶即時(shí)發(fā)送的,是預(yù)先存儲(chǔ)的。
上述兩種實(shí)現(xiàn)場(chǎng)景,在實(shí)際應(yīng)用中可以同時(shí)出現(xiàn)。其中,用戶信息包括用戶名和/或用戶頭像,還可以包括其他用戶信息,這里不再一一贅述。
102:將所述彈幕文字與發(fā)送所述彈幕文字的用戶信息合成獲得彈幕,所述用戶信息包括用戶名和/或用戶頭像。
若只有一個(gè)彈幕文字時(shí),將該彈幕文字與發(fā)送該彈幕文字的用戶信息合成一個(gè)彈幕。若有多個(gè)彈幕文字時(shí),將每個(gè)彈幕文字與發(fā)送該彈幕文字的用戶信息合成,獲得多個(gè)彈幕。即每個(gè)所生成的彈幕都包括兩部分,一部分是彈幕文字,一部分是用戶數(shù)據(jù)。
103:設(shè)置所述彈幕的顯示參數(shù),根據(jù)所述顯示參數(shù)將所述彈幕渲染在當(dāng)前所播放的媒體文件上,所述顯示參數(shù)包括顯示坐標(biāo),顯示長(zhǎng)度,顯示高度,以及顯示速度。
如圖2所示,給每個(gè)所生成的彈幕設(shè)置顯示參數(shù),即設(shè)置每個(gè)彈幕的顯示坐標(biāo),顯示長(zhǎng)度,顯示高度,以及該彈幕在播放器上的顯示速度。其中,一個(gè)彈幕的顯示坐標(biāo)可以是該彈幕在播放器上最初的顯示時(shí)左上角的坐標(biāo),即該彈幕初始顯示在播放器上時(shí),該彈幕的左上角的橫坐標(biāo)(X)的值和縱坐標(biāo)(Y)的值。當(dāng)然,還可以根據(jù)實(shí)際需要設(shè)置左下角的坐標(biāo),這里不進(jìn)行具體限制。
顯示長(zhǎng)度,指的是所生成的彈幕的左右長(zhǎng)度間隔。顯示高度,指的是所生成的彈幕的上下長(zhǎng)度間隔。顯示速度,指的是所生成的彈幕在播放器的媒體文件上左右移動(dòng)的速度,即該彈幕的縱坐標(biāo)(Y)的值不變,橫坐標(biāo)(X)的值變化的速度。
給每個(gè)彈幕設(shè)置顯示參數(shù)時(shí),根據(jù)實(shí)際情況進(jìn)行具體設(shè)置,盡量保證各個(gè)彈幕之間不相互遮擋,能夠更好將彈幕顯示給用戶為準(zhǔn)。具體的,在給一個(gè)彈幕設(shè)置顯示坐標(biāo)時(shí),檢查該彈幕的顯示坐標(biāo)是否會(huì)與其他的彈幕的顯示坐標(biāo)重疊,如果是,則重新設(shè)置一個(gè)顯示坐標(biāo)。
在一個(gè)例子中,所述顯示參數(shù)還包括顯示時(shí)間,所述顯示時(shí)間用于表征所述彈幕顯示在所述媒體文件上的起始時(shí)刻。
該顯示時(shí)間指示該媒體文件的一個(gè)播放進(jìn)度,即生成彈幕后,不立即渲染到當(dāng)前所播放的媒體文件上顯示給用戶,而是到達(dá)該媒體文件的一個(gè)播放進(jìn)度時(shí),才顯示該彈幕。舉例說明,一個(gè)彈幕設(shè)置的顯示時(shí)間是2分鐘,即該媒體文件播放至2分鐘時(shí),將該彈幕渲染到當(dāng)前所播放的媒體文件上顯示給用戶。
在實(shí)際應(yīng)用中,該顯示時(shí)間的設(shè)置可以依據(jù)該彈幕的標(biāo)識(shí)對(duì)應(yīng)的點(diǎn)贊數(shù)量,若該彈幕的標(biāo)識(shí)對(duì)應(yīng)的點(diǎn)贊數(shù)量多,則給該彈幕設(shè)置的顯示時(shí)間小,即該彈幕可以在前面進(jìn)行顯示;若該彈幕的標(biāo)識(shí)對(duì)應(yīng)的點(diǎn)贊數(shù)量少,則給該彈幕設(shè)置的顯示時(shí)間大,則該彈幕在后面顯示。從而可以給各個(gè)彈幕設(shè)置不同的顯示時(shí)間,將大量的彈幕按照時(shí)間的先后順序渲染到當(dāng)前所播放的媒體文件上顯示給用戶。最終得到的彈幕的顯示結(jié)果如圖3所示。
在一個(gè)例子中,所述顯示參數(shù)還包括特效參數(shù),所述特效參數(shù)用于提供所述彈幕文字顯示的特效。
該特效參數(shù)包括:發(fā)光,閃閃發(fā)光,字體變大,減慢速度,靜止1秒,靜止5秒,多種背景變色。
其中,閃閃發(fā)光的特效可以使得彈幕在顯示時(shí)閃光,即在該彈幕上合成一個(gè)閃閃發(fā)光的特效圖片。減慢速度的特效可以減緩彈幕在媒體文件上的移動(dòng)速度,即將減小該彈幕的顯示速度。靜止1秒的特效可以使彈幕在該媒體文件上靜止顯示1秒后在繼續(xù)移動(dòng),即彈幕移動(dòng)到指定位置時(shí),使得該彈幕的橫坐標(biāo)值在1秒內(nèi)不發(fā)生變化。靜止5秒的特效可以使彈幕在該媒體文件上靜止顯示5秒后在繼續(xù)移動(dòng),即彈幕移動(dòng)到指定位置時(shí),使得該彈幕的橫坐標(biāo)值在5秒內(nèi)不發(fā)生變化。每種背景變色的特效可以設(shè)置彈幕的一種背景顯示顏色,即在彈幕上合成一種背景顏色。
當(dāng)然,除上述特效參數(shù)以外,還可以根據(jù)實(shí)際需要設(shè)置其他的特效參數(shù),這里不再一一贅述。
給各個(gè)彈幕設(shè)置特效參數(shù),可以使得該彈幕顯示在當(dāng)前所播放的媒體文件上時(shí),更加突出,能夠更吸引觀看者的目光。
由上述內(nèi)容可知,本發(fā)明有如下有益效果:
該彈幕顯示在當(dāng)前所播放的媒體文件上時(shí),不僅包括彈幕文字,還包括用戶信息,能夠提供發(fā)送彈幕的用戶信息,用戶可以對(duì)有共鳴的彈幕進(jìn)行有效地回應(yīng),提高了各個(gè)用戶之間交互的可能性。
下面將在具體實(shí)現(xiàn)彈幕顯示時(shí)所存在的兩種實(shí)現(xiàn)場(chǎng)景進(jìn)行具體說明。
如圖4所示,第一種實(shí)現(xiàn)場(chǎng)景,顯示觀看媒體文件的用戶即時(shí)發(fā)送的彈幕文字形成的彈幕:
401:接收彈幕發(fā)送請(qǐng)求,所述彈幕發(fā)送請(qǐng)求包括用戶輸入的彈幕文字以及所述用戶的標(biāo)識(shí)。
402:根據(jù)所述用戶的標(biāo)識(shí)獲得所述用戶信息。
403:將所述彈幕文字與發(fā)送所述彈幕文字的用戶信息合成獲得彈幕,所述用戶信息包括用戶名和/或用戶頭像。
404:設(shè)置所述彈幕的顯示參數(shù),根據(jù)所述顯示參數(shù)將所述彈幕渲染在當(dāng)前所播放的媒體文件上,所述顯示參數(shù)包括顯示坐標(biāo),顯示長(zhǎng)度,顯示高度,以及顯示速度。
用戶在欣賞某一媒體文件時(shí),會(huì)對(duì)該媒體文件的內(nèi)容進(jìn)行評(píng)論,該用戶在顯示界面的彈幕輸入框輸入該文字評(píng)論,該文字評(píng)論即為彈幕文字,用戶點(diǎn)擊發(fā)送按鈕發(fā)送彈幕發(fā)送請(qǐng)求。該彈幕發(fā)送請(qǐng)求包括該用戶的標(biāo)識(shí),以及該用戶輸入的彈幕文字。根據(jù)該用戶的標(biāo)識(shí)獲得該用戶的用戶信息。將該用戶信息以及該彈幕文字合成獲得一個(gè)彈幕。給該彈幕設(shè)置顯示參數(shù),將該彈幕渲染在當(dāng)前所播放的媒體文件上,從而實(shí)現(xiàn)對(duì)用戶所發(fā)送的彈幕進(jìn)行顯示。
401至404所述的步驟,與圖1所示的方法中的描述類似,參考圖1所示的方法中的描述,這里不再贅述。
405:生成彈幕的標(biāo)識(shí)。
由于該彈幕剛剛生成,則即時(shí)給該彈幕生成一個(gè)彈幕的標(biāo)識(shí),該彈幕的標(biāo)識(shí)可以唯一標(biāo)識(shí)該彈幕。
406:存儲(chǔ)所述彈幕的標(biāo)識(shí),用戶輸入的彈幕文字以及所述用戶的標(biāo)識(shí)的對(duì)應(yīng)關(guān)系。
建立彈幕的標(biāo)識(shí),彈幕文字以及發(fā)送該彈幕文字的用戶的標(biāo)識(shí)的對(duì)應(yīng)關(guān)系。當(dāng)再度需要顯示該彈幕時(shí),可以根據(jù)彈幕的標(biāo)識(shí)獲得彈幕文字以及發(fā)送該彈幕文字的用戶的標(biāo)識(shí),再根據(jù)用戶的標(biāo)識(shí)獲得用戶信息,將彈幕文字和用戶信息合并重新獲得該彈幕進(jìn)行顯示。
407:獲取第一播放進(jìn)度,所述第一播放進(jìn)度用于表征接收到所述彈幕發(fā)送請(qǐng)求時(shí),所述媒體文件的播放進(jìn)度。
408:獲取所述第一播放進(jìn)度所屬的預(yù)設(shè)的時(shí)間區(qū)間作為第一時(shí)間區(qū)間,所述預(yù)設(shè)的時(shí)間區(qū)間是預(yù)先對(duì)所述媒體文件的播放時(shí)間劃分得到的多個(gè)時(shí)間區(qū)間。
409:將所述彈幕的標(biāo)識(shí)存儲(chǔ)至所述第一時(shí)間區(qū)間對(duì)應(yīng)的第一標(biāo)識(shí)集合。
并且,還可以獲得該媒體文件的第一播放進(jìn)度,第一播放進(jìn)度即為該用戶發(fā)送該彈幕時(shí),該媒體文件的已播放時(shí)間。預(yù)先將媒體文件的整個(gè)播放時(shí)間進(jìn)行劃分,獲得多個(gè)時(shí)間區(qū)間。確定該第一播放進(jìn)度所屬的第一時(shí)間區(qū)間,將該彈幕的標(biāo)識(shí)存儲(chǔ)至第一時(shí)間區(qū)間對(duì)應(yīng)的第一標(biāo)識(shí)集合。即第一標(biāo)識(shí)集合中的彈幕的標(biāo)識(shí),都是該媒體文件播放至第一時(shí)間區(qū)間所生成的。
為了更好的理解步驟407至408,舉例說明。將一個(gè)媒體文件,以10秒作為時(shí)間間隔,劃分得到多個(gè)預(yù)設(shè)的時(shí)間區(qū)間。即若該媒體文件是45分鐘,則得到70個(gè)預(yù)設(shè)的時(shí)間區(qū)間,具體為(0,10秒],[11秒,20秒],[21秒,30秒],……,[44分41秒,44分50秒],[44分51秒,45分]。生成一個(gè)彈幕后,獲得的第一播放進(jìn)度是20分15秒,則第一時(shí)間區(qū)間為[20分11秒,20分20秒],則將該彈幕的標(biāo)識(shí)存儲(chǔ)至?xí)r間區(qū)間[20分11秒,20分20秒]對(duì)應(yīng)的第一標(biāo)識(shí)集合,第一標(biāo)識(shí)集合中所有的彈幕的標(biāo)識(shí)都是在時(shí)間區(qū)間[20分11秒,20分20秒]生成的,即該彈幕標(biāo)識(shí)所標(biāo)識(shí)的彈幕也都是在該時(shí)間區(qū)間[20分11秒,20分20秒]生成的。
其中,預(yù)設(shè)的時(shí)間區(qū)間劃分時(shí)所采用的時(shí)間間隔可以根據(jù)實(shí)際需要具體設(shè)置,并不僅限于10秒,這里不再一一贅述。
從而,當(dāng)再次需要顯示該彈幕時(shí),可以根據(jù)該彈幕的標(biāo)識(shí)所屬的標(biāo)識(shí)集合,確定生成該彈幕時(shí)媒體文件的播放進(jìn)度所屬的預(yù)設(shè)的時(shí)間區(qū)間,在該預(yù)設(shè)的時(shí)間區(qū)間內(nèi)再次顯示該彈幕,可以實(shí)現(xiàn)彈幕的內(nèi)容與當(dāng)前播放的媒體文件的內(nèi)容相關(guān),可以給客戶“實(shí)施互動(dòng)”的感受。即該媒體文件各個(gè)預(yù)設(shè)的時(shí)間區(qū)間所顯示的彈幕,是與該預(yù)設(shè)的時(shí)間區(qū)間內(nèi)播放的媒體文件的內(nèi)容相關(guān)的彈幕。
當(dāng)然,本實(shí)例中,所述顯示參數(shù)還可以包括特效參數(shù),具體實(shí)現(xiàn)方式與圖1所示的實(shí)例類似,參考圖1中的描述,這里不再贅述。
如圖5所示,第二種實(shí)現(xiàn)場(chǎng)景,顯示已存儲(chǔ)的彈幕文字形成的彈幕:
501:接收彈幕顯示請(qǐng)求,所述彈幕顯示請(qǐng)求包括當(dāng)前所播放的媒體文件的標(biāo)識(shí)。
502:獲取所述媒體文件的第二播放進(jìn)度。
503:獲取所述第二播放進(jìn)度所屬的預(yù)設(shè)的時(shí)間區(qū)間作為第二時(shí)間區(qū)間。
504:獲取所述第二時(shí)間區(qū)間對(duì)應(yīng)的第二標(biāo)識(shí)集合,所述第二標(biāo)識(shí)集合包括至少一個(gè)彈幕的標(biāo)識(shí),所述第二標(biāo)識(shí)集合包括在所述第二時(shí)間區(qū)間內(nèi)所生成的彈幕的標(biāo)識(shí)。
用戶通過顯示界面的播放器上設(shè)置的彈幕顯示按鈕,觸發(fā)彈幕顯示請(qǐng)求。接收到該彈幕顯示請(qǐng)求后,獲取當(dāng)前所播放的媒體文件的播放進(jìn)度,作為第二播放進(jìn)度。確定該第二播放進(jìn)度所屬的預(yù)設(shè)的時(shí)間區(qū)間,將該預(yù)設(shè)的時(shí)間區(qū)間作為第二時(shí)間區(qū)間。獲取該第二時(shí)間區(qū)間對(duì)應(yīng)的第二標(biāo)識(shí)集合。
舉例說明:當(dāng)接收到彈幕顯示請(qǐng)求后,當(dāng)前所播放的媒體文件的播放進(jìn)度是5分12秒,則第二播放進(jìn)度為5分42秒。若按照?qǐng)D4所述的實(shí)例中所劃分的預(yù)設(shè)的時(shí)間間隔,則該第二播放進(jìn)度所屬的第二時(shí)間區(qū)間為[5分41秒,5分50秒]。則獲取時(shí)間區(qū)間[5分41秒,5分50秒]對(duì)應(yīng)的第二標(biāo)識(shí)集合,第二標(biāo)識(shí)集合中的彈幕的標(biāo)識(shí)都是在該時(shí)間區(qū)間[5分41秒,5分50秒]生成的。
這里需要說明的是,上述實(shí)例僅是為了使讀者更好的理解本發(fā)明,并不僅限于上述實(shí)例中的描述。
在一個(gè)例子中,所述方法還包括:
獲取所述第二標(biāo)識(shí)集合中各個(gè)彈幕的標(biāo)識(shí)對(duì)應(yīng)的點(diǎn)贊數(shù)量;
將所述第二標(biāo)識(shí)集合中的各個(gè)彈幕的標(biāo)識(shí)按照點(diǎn)贊數(shù)量由大到小排序;
獲取排列在前的預(yù)設(shè)個(gè)數(shù)的彈幕的標(biāo)識(shí)。
當(dāng)?shù)诙?biāo)識(shí)集合中的彈幕的標(biāo)識(shí)非常多時(shí),可以獲得各個(gè)彈幕的標(biāo)識(shí)對(duì)應(yīng)的點(diǎn)贊數(shù)量。一個(gè)彈幕的標(biāo)識(shí)所對(duì)應(yīng)的點(diǎn)贊數(shù)量,用于記錄該彈幕被用戶點(diǎn)贊的次數(shù)。即一個(gè)彈幕顯示在當(dāng)前所播放的媒體文件上時(shí),看到該彈幕的用戶若覺得該彈幕的內(nèi)容很好,可以對(duì)該彈幕點(diǎn)贊,則該彈幕的標(biāo)識(shí)對(duì)應(yīng)的點(diǎn)贊數(shù)量會(huì)記錄該彈幕被用戶點(diǎn)贊的次數(shù)。
可以理解的是,顯示在當(dāng)前播放的媒體文件上的各個(gè)彈幕上,都設(shè)置有一個(gè)點(diǎn)贊按鈕(如圖3所示),用戶可以點(diǎn)擊該點(diǎn)贊按鈕,給該點(diǎn)贊按鈕所屬的彈幕進(jìn)行點(diǎn)贊。接收到用戶點(diǎn)擊一個(gè)點(diǎn)贊按鈕的操作時(shí),給該點(diǎn)贊按鈕所屬的彈幕的標(biāo)識(shí)對(duì)應(yīng)的電子數(shù)量加1。
根據(jù)各個(gè)彈幕的標(biāo)識(shí)對(duì)應(yīng)的點(diǎn)贊數(shù)量,對(duì)各個(gè)彈幕的標(biāo)識(shí)按照由大到小進(jìn)行排序,點(diǎn)贊數(shù)量多的彈幕的標(biāo)識(shí)排列在前面,點(diǎn)贊數(shù)量少的彈幕排列在后面??梢岳斫獾氖?,點(diǎn)贊數(shù)量多,表示該彈幕的標(biāo)識(shí)所對(duì)應(yīng)的彈幕被更多的用戶喜歡;點(diǎn)贊數(shù)量少,表示該彈幕的標(biāo)識(shí)對(duì)應(yīng)的彈幕喜歡的用戶較少。
根據(jù)所要顯示的彈幕的個(gè)數(shù),選取排列在前面的預(yù)設(shè)個(gè)數(shù)的彈幕標(biāo)識(shí)。比如,在該第二時(shí)間區(qū)間內(nèi)僅能夠顯示30個(gè)彈幕,則選擇排列在前30的彈幕的標(biāo)識(shí)。從第二標(biāo)識(shí)集合中選擇預(yù)設(shè)個(gè)數(shù)的彈幕的標(biāo)識(shí),可以減少在第二時(shí)間區(qū)間內(nèi)同時(shí)顯示的彈幕的個(gè)數(shù),可以給用戶更好的顯示受歡迎的彈幕,從而避免大量的彈幕同時(shí)顯示所造成的混亂。
當(dāng)然,可以根據(jù)實(shí)際情況,具體設(shè)置在一個(gè)預(yù)設(shè)的時(shí)間區(qū)間所對(duì)應(yīng)的標(biāo)識(shí)集合中所選擇的彈幕的標(biāo)識(shí)的個(gè)數(shù)。
505:根據(jù)彈幕的標(biāo)識(shí)獲取所述彈幕的彈幕文字和發(fā)送所述彈幕文字的用戶信息。
506:將所述彈幕文字與發(fā)送所述彈幕文字的用戶信息合成獲得彈幕,所述用戶信息包括用戶名和/或用戶頭像。
507:設(shè)置所述彈幕的顯示參數(shù),根據(jù)所述顯示參數(shù)將所述彈幕渲染在當(dāng)前所播放的媒體文件上,所述顯示參數(shù)包括顯示時(shí)間,顯示坐標(biāo),顯示長(zhǎng)度,顯示高度,以及顯示速度。
當(dāng)從第二標(biāo)識(shí)集合中選擇了彈幕的標(biāo)識(shí)后,獲得各個(gè)彈幕的標(biāo)識(shí)對(duì)應(yīng)的彈幕文字和發(fā)送所述彈幕文字的用戶信息。將每個(gè)彈幕文字,以及發(fā)送該彈幕文字的用戶信息合成獲得一個(gè)彈幕。例如,所獲得的彈幕的標(biāo)識(shí)有30個(gè),則可以獲得30個(gè)彈幕。
給各個(gè)所獲得的彈幕設(shè)置顯示參數(shù),該顯示參數(shù)包括顯示時(shí)間,該顯示時(shí)間屬于第二時(shí)間區(qū)間。按照各個(gè)彈幕的顯示參數(shù),將該彈幕渲染在當(dāng)前所播放的媒體文件上顯示給用戶。用戶能夠看到在該媒體文件播放至第二時(shí)間區(qū)間時(shí)所獲得的點(diǎn)贊數(shù)量較多的彈幕。從而給用戶帶來“實(shí)時(shí)互動(dòng)”的體驗(yàn)。
當(dāng)然,本實(shí)例中,所述顯示參數(shù)還可以包括特效參數(shù),具體實(shí)現(xiàn)方式與圖1所示的實(shí)例類似,參考圖1中的描述,這里不再贅述。
圖6為本發(fā)明實(shí)施例提供的彈幕顯示的裝置結(jié)構(gòu)示意圖,包括:
第一獲取單元601,用于獲取彈幕文字,以及發(fā)送所述彈幕文字的用戶信息。
合成單元602,用于將所述彈幕文字與發(fā)送所述彈幕文字的用戶信息合成獲得彈幕,所述用戶信息包括用戶名和/或用戶頭像。
顯示單元603,用于設(shè)置所述彈幕的顯示參數(shù),根據(jù)所述顯示參數(shù)將所述彈幕渲染在當(dāng)前所播放的媒體文件上,所述顯示參數(shù)包括顯示坐標(biāo),顯示長(zhǎng)度,顯示高度,以及顯示速度。
在一個(gè)例子中,所述第一獲取單元包括:
第一接收子單元,用于接收彈幕發(fā)送請(qǐng)求,所述彈幕發(fā)送請(qǐng)求包括用戶輸入的彈幕文字以及所述用戶的標(biāo)識(shí);
第一獲取子單元,用于根據(jù)所述用戶的標(biāo)識(shí)獲取所述用戶信息。
在一個(gè)例子中,所述裝置還包括:
生成單元,用于生成彈幕的標(biāo)識(shí);
第一存儲(chǔ)單元,用于存儲(chǔ)所述彈幕的標(biāo)識(shí),用戶輸入的彈幕文字以及所述用戶的標(biāo)識(shí)的對(duì)應(yīng)關(guān)系。
在一個(gè)例子中,所述裝置還包括:
第二獲取單元,用于獲取第一播放進(jìn)度,所述第一播放進(jìn)度用于表征接收到所述彈幕發(fā)送請(qǐng)求時(shí),所述媒體文件的播放進(jìn)度;
第三獲取單元,用于獲取所述第一播放進(jìn)度所屬的預(yù)設(shè)的時(shí)間區(qū)間作為第一時(shí)間區(qū)間,所述預(yù)設(shè)的時(shí)間區(qū)間是預(yù)先對(duì)所述媒體文件的播放時(shí)間劃分得到的多個(gè)時(shí)間區(qū)間;
第二存儲(chǔ)單元,用于將所述彈幕的標(biāo)識(shí)存儲(chǔ)至所述第一時(shí)間區(qū)間對(duì)應(yīng)的第一標(biāo)識(shí)集合。
在一個(gè)例子中,所述第一獲取單元包括:
第二接收子單元,用于接收彈幕顯示請(qǐng)求,所述彈幕顯示請(qǐng)求包括當(dāng)前所播放的媒體文件的標(biāo)識(shí);
第二獲取子單元,用于獲取所述媒體文件的標(biāo)識(shí)對(duì)應(yīng)的彈幕的標(biāo)識(shí);
第三獲取子單元,用于根據(jù)彈幕的標(biāo)識(shí)獲取所述彈幕的彈幕文字和發(fā)送所述彈幕文字的用戶信息。
在一個(gè)例子中,
所述第二獲取子單元,用于獲取所述媒體文件的第二播放進(jìn)度;獲取所述第二播放進(jìn)度所屬的預(yù)設(shè)的時(shí)間區(qū)間作為第二時(shí)間區(qū)間;獲取所述第二時(shí)間區(qū)間對(duì)應(yīng)的第二標(biāo)識(shí)集合,所述第二標(biāo)識(shí)集合包括至少一個(gè)彈幕的標(biāo)識(shí),所述第二標(biāo)識(shí)集合包括在所述第二時(shí)間區(qū)間內(nèi)所生成的彈幕的標(biāo)識(shí)。
在一個(gè)例子中,所述裝置還包括:
第四獲取單元,用于獲取所述第二標(biāo)識(shí)集合中各個(gè)彈幕的標(biāo)識(shí)對(duì)應(yīng)的點(diǎn)贊數(shù)量;
排序單元,用于將所述第二標(biāo)識(shí)集合中的各個(gè)彈幕的標(biāo)識(shí)按照點(diǎn)贊數(shù)量由大到小排序;
第五獲取單元,用于獲取排列在前的預(yù)設(shè)個(gè)數(shù)的彈幕的標(biāo)識(shí)。
圖6所示的彈幕顯示的裝置是與圖1至圖5所示的彈幕顯示方法所對(duì)應(yīng)的裝置,具體實(shí)現(xiàn)方式與圖1至圖5所示的方法類似,參考圖1至圖5所示方法的描述,這里不再贅述。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以作出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。