專利名稱:多媒體文件的下載方法、播放方法、系統(tǒng)及設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,特別涉及多媒體文件的下載方法、播放方 法、系統(tǒng)及設(shè)備。
背景技術(shù):
隨著電子產(chǎn)品數(shù)字化的發(fā)展,例如數(shù)碼相機(jī)、數(shù)碼攝像機(jī)等,這些產(chǎn)品產(chǎn) 生越來越多的多々某體文件,用戶除了自己對(duì)這些多々某體文件進(jìn)行欣賞外,通常 還會(huì)有與其它用戶進(jìn)行多媒體文件交互的需求,以達(dá)到共同欣賞的目的。但是,
在交互這些多媒體文件時(shí),由于網(wǎng)絡(luò)帶寬的限制,以及多媒體文件尺寸的限制, 通常難以快速方便地通過網(wǎng)絡(luò)分享尺寸較大的多媒體文件。
現(xiàn)有技術(shù)中,用戶通常通過瀏覽器在網(wǎng)絡(luò)中查找需要的多媒體文件,通過
HTTP (Hypertext Transfer Protocol,超文本傳輸協(xié)議)方式將多々某體文件下載 到本地后,在多々某體播放器中進(jìn)行播放;或者由服務(wù)器端將多媒體文件做成流 媒體形式并發(fā)布,當(dāng)用戶點(diǎn)擊感興趣的流媒體文件時(shí),可以連接到流媒體服務(wù) 器,直接獲取流媒體數(shù)據(jù)并在本地多媒體播放器中進(jìn)行播放。但是,無論通過 HTTP方式下載多媒體文件,還是通過流媒體方式獲取多媒體文件,服務(wù)器都 將承擔(dān)所有的數(shù)據(jù)處理壓力和帶寬壓力。
以點(diǎn)播500Kbps碼流的視頻多媒體文件,或者以500Kbps速度下載多媒 體文件為例,假設(shè)用于處理多媒體文件的服務(wù)器是網(wǎng)絡(luò)中具有一百兆帶寬的服 務(wù)器,在帶寬使用率為50%的情況下,僅能支持100個(gè)用戶同時(shí)在線點(diǎn)播或 下載該多媒體文件,當(dāng)超過100個(gè)用戶密集發(fā)送點(diǎn)播或下載該多媒體文件的請(qǐng) 求時(shí),則服務(wù)器難以滿足需求,并且無法向用戶提供高質(zhì)量的多i某體文件服務(wù); 并且,通過一臺(tái)服務(wù)器進(jìn)行多媒體文件的處理容易產(chǎn)生單點(diǎn)故障,即當(dāng)該服務(wù) 器發(fā)生故障時(shí),所有用戶都無法獲取到需要的多媒體文件。
現(xiàn)有技術(shù)中還可以通過分布式的P2P (Peer-to-Peer,點(diǎn)對(duì)點(diǎn))網(wǎng)絡(luò)播放多 媒體文件,用戶可以從P2P網(wǎng)絡(luò)中的其它用戶處獲取需要的數(shù)據(jù),但是,由于用戶只能隨機(jī)獲取多媒體文件任意位置的數(shù)據(jù),因此在下載完全部多媒體文件 之前,用戶無法播放多媒體文件,導(dǎo)致用戶體驗(yàn)較差。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種多媒體文件的下載方法、播放方法、系統(tǒng)及設(shè) 備,以解決現(xiàn)有技術(shù)中處理多媒體文件的服務(wù)器帶寬壓力大,難以同時(shí)滿足多 用戶對(duì)多媒體文件的需求,且用戶體驗(yàn)較差的問題。
為解決上述技術(shù)問題,本發(fā)明提供如下技術(shù)方案 一種多々某體文件的下載方法,包括
接收到播放請(qǐng)求后,創(chuàng)建數(shù)據(jù)均為初始標(biāo)記的多媒體文件; 向P2P網(wǎng)絡(luò)順序請(qǐng)求所述多々某體文件的數(shù)據(jù);
將所述多媒體文件的數(shù)據(jù)寫入所述多4某體文件中對(duì)應(yīng)的初始標(biāo)記所在的 位置。
所述創(chuàng)建數(shù)據(jù)均為初始標(biāo)記的多媒體文件包括 獲取所述多媒體文件的種子文件; 解析所述種子文件得到所述多媒體文件大小的信息; 根據(jù)所述信息創(chuàng)建與所述多媒體文件大小一致的多媒體文件; 將所述多媒體文件中的數(shù)據(jù)全部寫為所述初始標(biāo)記。 所述向P2P網(wǎng)絡(luò)順序請(qǐng)求多媒體文件的數(shù)據(jù)包括 預(yù)先設(shè)置多媒體文件中的數(shù)據(jù)的長(zhǎng)度;
根據(jù)所述數(shù)據(jù)的長(zhǎng)度順序獲取P2P網(wǎng)絡(luò)中所述多媒體文件的數(shù)據(jù)。 還包括
發(fā)送播放所述多媒體文件的通知消息; 判斷所述多^某體文件是否下載完成;
當(dāng)所述多媒體文件下載完成時(shí),發(fā)送下載成功消息,否則,執(zhí)行所述順序 請(qǐng)求的步驟。 還包括接收請(qǐng)求所述多媒體文件中特定位置數(shù)據(jù)的消息; 通過P2P網(wǎng)絡(luò)獲取所述特定位置的數(shù)據(jù); 發(fā)送獲取所述特定位置數(shù)據(jù)成功的消息; 順序下載所述特定位置后的多^ 某體文件的數(shù)據(jù)。 一種多媒體文件的播放方法,包括
接收到播放多媒體文件的通知消息后,預(yù)讀所述多媒體文件中的數(shù)據(jù);
根據(jù)所述數(shù)據(jù)的預(yù)讀情況對(duì)所述多媒體文件進(jìn)行播放。
當(dāng)接收到順序播放多媒體文件的通知消息后,所述預(yù)讀多媒體文件中的數(shù) 據(jù)具體為按照預(yù)先設(shè)置的數(shù)據(jù)長(zhǎng)度順序讀取所述多媒體文件的數(shù)據(jù);
當(dāng)接收到播放多媒體文件特定位置數(shù)據(jù)的通知消息后,所述預(yù)讀多媒體文 件中的數(shù)據(jù)具體為按照預(yù)先設(shè)置的數(shù)據(jù)長(zhǎng)度讀取多媒體文件特定位置的數(shù) 據(jù)。
所述根據(jù)數(shù)據(jù)的預(yù)讀情況對(duì)多媒體文件進(jìn)行播放包括 當(dāng)讀取到的數(shù)據(jù)均為從P2P網(wǎng)絡(luò)中獲取的所述多媒體文件的數(shù)據(jù)時(shí),播放 所述多媒體文件;
當(dāng)讀取到的數(shù)據(jù)均為創(chuàng)建所述多媒體文件時(shí)寫入的初始標(biāo)記時(shí),緩沖所述 多媒體文件的播放;
當(dāng)讀取到的數(shù)據(jù)為所述多媒體文件的尾數(shù)據(jù)時(shí),在播放完所述尾數(shù)據(jù)后結(jié) 束所述多媒體文件的播放。
還包括
當(dāng)緩沖所述多媒體文件的播放時(shí),發(fā)送獲取對(duì)應(yīng)所述初始標(biāo)記的數(shù)據(jù)的請(qǐng) 求消息。
一種多媒體文件的播放系統(tǒng),包括多媒體文件下載模塊和多媒體文件播放 模塊,
所述多媒體文件下載模塊包括
創(chuàng)建單元,用于接收到播放請(qǐng)求后,創(chuàng)建數(shù)據(jù)均為初始標(biāo)記的多媒體文件; 請(qǐng)求單元,用于向P2P網(wǎng)絡(luò)順序請(qǐng)求所述多々某體文件的翁:據(jù);寫入單元,用于將所述多媒體文件的數(shù)據(jù)寫入所述多媒體文件中對(duì)應(yīng)的初
始標(biāo)記所在的位置;
所述多媒體文件播放模塊包括
預(yù)讀單元,用于接收到播放多媒體文件的通知消息后,預(yù)讀所述多^ 某體文 件中的數(shù)據(jù);
播放單元,用于根據(jù)所述數(shù)據(jù)的預(yù)讀情況對(duì)所述多媒體文件進(jìn)行播放。 所述多媒體文件下載模塊還包括
第一發(fā)送單元,用于發(fā)送播放所述多媒體文件的通知消息; 判斷單元,用于判斷所述多^ 某體文件是否下載完成;
執(zhí)行單元,用于當(dāng)所述多媒體文件下載完成時(shí),發(fā)送下載成功消息,否則, 執(zhí)行所述請(qǐng)求單元的功能。
所述多媒體文件下載模塊還包括
接收單元,用于接收請(qǐng)求所述多媒體文件中特定位置數(shù)據(jù)的消息; 所述請(qǐng)求單元進(jìn)一步用于,通過P2P網(wǎng)絡(luò)獲取所述特定位置的數(shù)據(jù); 第二發(fā)送單元,用于發(fā)送獲取所述特定位置數(shù)據(jù)成功的消息; 所述請(qǐng)求單元進(jìn)一步用于,順序下載所述特定位置后的多^ 某體文件的數(shù)據(jù)。
所述預(yù)讀單元包括
第一預(yù)讀單元,用于當(dāng)接收到順序播放多媒體文件的通知消息后,按照預(yù) 先設(shè)置的數(shù)據(jù)長(zhǎng)度順序讀取所述多媒體文件的數(shù)據(jù);
第二預(yù)讀單元,用于當(dāng)接收到播放多媒體文件特定位置數(shù)據(jù)的通知消息 后,按照預(yù)先設(shè)置的數(shù)據(jù)長(zhǎng)度讀取多媒體文件特定位置的數(shù)據(jù)。
所述播放單元包括
順序播放單元,用于當(dāng)讀取到的數(shù)據(jù)均為從P2P網(wǎng)絡(luò)中獲取的所述多媒體 文件的數(shù)據(jù)時(shí),播放所述多媒體文件;
緩沖播放單元,用于當(dāng)讀取到的數(shù)據(jù)均為創(chuàng)建所述多媒體文件時(shí)寫入的初 始標(biāo)記時(shí),緩沖所述多媒體文件的播放;結(jié)束播放單元,用于當(dāng)讀取到的數(shù)據(jù)為所述多媒體文件的尾數(shù)據(jù)時(shí),在播
放完所述尾數(shù)據(jù)后結(jié)束所述多媒體文件的播放; 所述多媒體文件播放模塊還包括
發(fā)送單元,用于當(dāng)緩沖所述多媒體文件的播放時(shí),發(fā)送獲取對(duì)應(yīng)所述初始 標(biāo)記的數(shù)據(jù)的請(qǐng)求消息。
一種多々某體文件的下載裝置,包括
創(chuàng)建單元,用于接收到播放請(qǐng)求后,創(chuàng)建數(shù)據(jù)均為初始標(biāo)記的多媒體文件;
請(qǐng)求單元,用于向P2P網(wǎng)絡(luò)順序請(qǐng)求所述多々某體文件的數(shù)據(jù);
寫入單元,用于將所述多媒體文件的數(shù)據(jù)寫入所述多i某體文件中對(duì)應(yīng)的初 始標(biāo)記所在的位置。
所述創(chuàng)建單元包括
獲取種子文件單元,用于獲取所述多媒體文件的種子文件; 解析種子文件單元,用于解析所述種子文件得到所述多媒體文件大小的信
自
創(chuàng)建多媒體文件單元,用于根據(jù)所述信息創(chuàng)建與所述多媒體文件大小一致
的多媒體文件;
寫入初始標(biāo)記單元,用于將所述多々某體文件中的凝:據(jù)全部寫為所述初始標(biāo)記。
所述請(qǐng)求單元包括
設(shè)置長(zhǎng)度單元,用于預(yù)先設(shè)置多媒體文件中的數(shù)據(jù)的長(zhǎng)度;
獲取數(shù)據(jù)單元,用于根據(jù)所述數(shù)據(jù)的長(zhǎng)度順序獲取P2P網(wǎng)絡(luò)中所述多媒體 文件的數(shù)據(jù)。
還包括
第一發(fā)送單元,用于發(fā)送播放所述多媒體文件的通知消息;
判斷單元,用于判斷所述多媒體文件是否下載完成;
執(zhí)行單元,用于當(dāng)所述多J 某體文件下載完成時(shí),發(fā)送下載成功消息,否則, 執(zhí)行所述請(qǐng)求單元的功能。還包括
接收單元,用于接收請(qǐng)求所述多媒體文件中特定位置數(shù)據(jù)的消息; 所述請(qǐng)求單元進(jìn)一步用于,通過P2P網(wǎng)絡(luò)獲取所述特定位置的數(shù)據(jù); 第二發(fā)送單元,用于發(fā)送獲取所述特定位置數(shù)據(jù)成功的消息; 所述請(qǐng)求單元進(jìn)一步用于,順序下載所述特定位置后的多媒體文件的數(shù)據(jù)。
一種多媒體文件的播放裝置,包括
預(yù)讀單元,用于接收到播放多媒體文件的通知消息后,預(yù)讀所述多媒體文 件中的數(shù)據(jù);
播放單元,用于根據(jù)所述數(shù)據(jù)的預(yù)讀情況對(duì)所述多媒體文件進(jìn)行播放。 所述預(yù)讀單元包括
第一預(yù)讀單元,用于當(dāng)接收到順序播放多媒體文件的通知消息后,按照預(yù) 先設(shè)置的數(shù)據(jù)長(zhǎng)度順序讀取所述多媒體文件的數(shù)據(jù);
第二預(yù)讀單元,用于當(dāng)接收到播放多媒體文件特定位置數(shù)據(jù)的通知消息 后,按照預(yù)先設(shè)置的數(shù)據(jù)長(zhǎng)度讀取多媒體文件特定位置的數(shù)據(jù)。
所述播放單元包括
順序播放單元,用于當(dāng)讀取到的數(shù)據(jù)均為從P2P網(wǎng)絡(luò)中獲取的所述多媒體 文件的數(shù)據(jù)時(shí),播放所述多媒體文件;
緩沖播放單元,用于當(dāng)讀取到的數(shù)據(jù)均為創(chuàng)建所述多i某體文件時(shí)寫入的初 始標(biāo)記時(shí),緩沖所述多媒體文件的播放;
結(jié)束播放單元,用于當(dāng)讀取到的數(shù)據(jù)為所述多媒體文件的尾數(shù)據(jù)時(shí),在播 放完所述尾數(shù)據(jù)后結(jié)束所述多媒體文件的播放;
所述裝置還包括
發(fā)送單元,用于當(dāng)緩沖所述多媒體文件的播放時(shí),發(fā)送獲取對(duì)應(yīng)所述初始 標(biāo)記的數(shù)據(jù)的請(qǐng)求消息。
由以上本發(fā)明提供的技術(shù)方案可見,應(yīng)用本發(fā)明進(jìn)行多媒體文件的下載和 播放時(shí),由于數(shù)據(jù)的下載通過P2P網(wǎng)絡(luò)進(jìn)行,因此在多用戶同時(shí)下載時(shí)不會(huì)對(duì)中央服務(wù)器造成壓力,相應(yīng)提高了用戶的服務(wù)質(zhì)量;由于向P2P網(wǎng)絡(luò)順序請(qǐng)求 多媒體文件的數(shù)據(jù),因此不必等待所有的多媒體文件下載完成再進(jìn)行播放,而 是順序播放已下載完成的文件,提高了用戶體驗(yàn);由于可以主動(dòng)請(qǐng)求下載多i某 體文件中特定位置的數(shù)據(jù),因此滿足了下載播放過程中用戶所進(jìn)行的前進(jìn)或后 退等VOD操作。
圖1為本發(fā)明多媒體文件下載和播放的通信結(jié)構(gòu)示意圖; 圖2為本發(fā)明多々某體文件的下載方法的第一實(shí)施例流程圖; 圖3為本發(fā)明多々某體文件的下載方法的第二實(shí)施例流程圖; 圖4為本發(fā)明多媒體文件的下載方法的第三實(shí)施例流程圖; 圖5為本發(fā)明多4某體文件的播放方法的第一實(shí)施例流程圖; 圖6為本發(fā)明多媒體文件的播放方法的第二實(shí)施例流程圖; 圖7為本發(fā)明多媒體文件的播放方法的第三實(shí)施例流程圖; 圖8為本發(fā)明多々某體文件的播放系統(tǒng)的實(shí)施例框圖; 圖9為本發(fā)明多媒體文件的下載裝置的第一實(shí)施例框圖; 圖10為本發(fā)明多々某體文件的下載裝置的第二實(shí)施例框圖; 圖11為本發(fā)明多媒體文件的播放裝置的第一實(shí)施例框圖; 圖12為本發(fā)明多媒體文件的下載裝置的第二實(shí)施例框圖。
具體實(shí)施例方式
本發(fā)明的核心是提供了一種多媒體文件的下載方法、播放方法、系統(tǒng)及設(shè) 備,在下載多媒體文件時(shí),接收到播放請(qǐng)求后創(chuàng)建數(shù)據(jù)均為初始標(biāo)記的多媒體 文件,向P2P網(wǎng)絡(luò)順序請(qǐng)求所述多媒體文件的數(shù)據(jù),將所述多媒體文件的數(shù)據(jù) 寫入所述多媒體文件中對(duì)應(yīng)的初始標(biāo)記所在的位置;在播放多媒體文件時(shí),接 收到播放多媒體文件的通知消息后,預(yù)讀所述多媒體文件中的數(shù)據(jù),根據(jù)所述 數(shù)據(jù)的預(yù)讀情況對(duì)所述多媒體文件進(jìn)行播放。
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,并使本發(fā)明的上述目 的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說明。
實(shí)現(xiàn)本發(fā)明多媒體文件的下載及播放需要兩個(gè)模塊之間的協(xié)作,分別為 P2P數(shù)據(jù)下載模塊和多媒體播放模塊,這兩個(gè)模塊可以分別位于不同的設(shè)備 中,例如,P2P數(shù)據(jù)下載模塊集成在嵌入式設(shè)備中,而多媒體播放模塊集成在
具有播放功能的終端設(shè)備中;這兩個(gè)模塊也可以集成在同一個(gè)嵌入式設(shè)備中, 即該設(shè)備同時(shí)具有下載和播放兩種功能。P2P數(shù)據(jù)下載模塊和多媒體播放模塊 之間的通信結(jié)構(gòu)示意圖如圖1所示。其中,P2P數(shù)據(jù)下載模塊作為P2P網(wǎng)絡(luò)中 的一個(gè)節(jié)點(diǎn)接入P2P網(wǎng)絡(luò),完成對(duì)多媒體文件的下載,P2P數(shù)據(jù)下載模塊同時(shí)
調(diào)用通信方式,多媒體播放模塊可以是嵌入式多媒體播放機(jī)等常用的信息家電 中的多媒體播放模塊,也可以是PC (Personal Computer,個(gè)人計(jì)算機(jī))中的 一個(gè)多媒體播放模塊。相對(duì)于多媒體文件來說,P2P數(shù)據(jù)下載模塊對(duì)多媒體文 件進(jìn)行寫操作(下載),相應(yīng)的,多媒體播放模塊對(duì)多媒體文件進(jìn)行讀操作(播 放)。下面分別詳細(xì)介紹本發(fā)明中多媒體文件下載的實(shí)施例和多媒體文件播放 的實(shí)施例。
本發(fā)明多々某體文件的下載方法第一實(shí)施例流程如圖2所示
步驟201:接收到播放請(qǐng)求后創(chuàng)建數(shù)據(jù)均為初始標(biāo)記的多媒體文件。
具體的,獲取多媒體文件的種子文件,解析該種子文件得到該多^^某體文件 的大小信息及提供該多媒體文件的網(wǎng)絡(luò)節(jié)點(diǎn)信息,根據(jù)多媒體文件的大小信息 創(chuàng)建與其大小一致的多媒體文件,將多媒體文件中的數(shù)據(jù)全部寫為初始標(biāo)記。
步驟202:向P2P網(wǎng)絡(luò)順序請(qǐng)求多々某體文件的數(shù)據(jù)。
具體的,預(yù)先設(shè)置多媒體文件中的數(shù)據(jù)的長(zhǎng)度,根據(jù)所述數(shù)據(jù)的長(zhǎng)度順序 獲取P2P網(wǎng)絡(luò)中所述多媒體文件的數(shù)據(jù)。
步驟203:將獲取的數(shù)據(jù)寫入該多媒體文件中對(duì)應(yīng)的初始標(biāo)記所在的位置。
本發(fā)明多媒體文件的下載方法的第二實(shí)施例流程如圖3所示,該實(shí)施例結(jié) 合圖1所示的P2P數(shù)據(jù)下載模塊和多媒體播放模塊示出了應(yīng)用本發(fā)明進(jìn)行多媒 體下載的詳細(xì)過程步驟301: P2P數(shù)據(jù)下載模塊接收用戶發(fā)送的播放多媒體文件的請(qǐng)求。
用戶可以向P2P數(shù)據(jù)下載模塊發(fā)送下載多媒體文件的請(qǐng)求,具體的,當(dāng) P2P數(shù)據(jù)下載模塊位于一臺(tái)PC中時(shí),用戶可以通過鼠標(biāo)點(diǎn)擊播放網(wǎng)上的多媒 體文件,當(dāng)P2P數(shù)據(jù)下載模塊位于嵌入式多媒體播放終端時(shí),用戶可以通過遙 控器按鍵觸發(fā)該終端下載多媒體文件。
步驟302:從P2P網(wǎng)絡(luò)中獲取該多媒體文件的種子文件。
步驟303:解析該種子文件得到多々某體文件大小的信息。
解析該種子文件可以得到多媒體文件的大小,也可以同時(shí)得到能夠提供該 多媒體文件的網(wǎng)絡(luò)節(jié)點(diǎn)。
步驟304:根據(jù)多i某體文件大小的信息創(chuàng)建與該大小的信息一致的多媒體 文件。
步驟305:將多媒體文件中的數(shù)據(jù)全部寫為初始標(biāo)記。
結(jié)合步驟304,通常P2P數(shù)據(jù)下載模塊可以先創(chuàng)建一個(gè)待下載的多媒體文 件大小一樣的多媒體文件,并將多媒體文件中的數(shù)據(jù)全寫為"0",該"0"為 一種初始標(biāo)記,當(dāng)然初始標(biāo)記也可以用其它數(shù)字或標(biāo)志表示。
步驟306:根據(jù)預(yù)先設(shè)置的數(shù)據(jù)長(zhǎng)度順序從P2P網(wǎng)絡(luò)中獲取多媒體文件的 數(shù)據(jù)。
可以預(yù)先設(shè)置每次從P2P網(wǎng)絡(luò)中下載數(shù)據(jù)的長(zhǎng)度,接收到請(qǐng)求多媒體文件 的P2P數(shù)據(jù)下載模塊從多i某體文件的頭數(shù)據(jù)開始,按照預(yù)先設(shè)置的長(zhǎng)度順序獲 取多媒體文件的數(shù)據(jù)。
步驟307:將多々某體文件的數(shù)據(jù)寫入多媒體文件中對(duì)應(yīng)的初始標(biāo)記所在的 位置。
具體的,當(dāng)初始標(biāo)記為"0"時(shí),將順序獲取到的多々某體文件的數(shù)據(jù)寫入 創(chuàng)建的多々某體文件中,新寫入的數(shù)據(jù)覆蓋對(duì)應(yīng)位置處的初始標(biāo)記"0"。
步驟308:向多媒體播放模塊發(fā)送播放多媒體文件的通知消息。
本發(fā)明實(shí)施例中無需在多媒體文件完整下載完就可以進(jìn)行播放,因?yàn)镻2P 數(shù)據(jù)下載模塊按照多媒體文件的數(shù)據(jù)的前后順序請(qǐng)求這些數(shù)據(jù),所以從頭數(shù)據(jù) 開始獲取到一定的數(shù)據(jù)后就可以通知多媒體播放模塊播放多媒體文件。其中,P2P數(shù)據(jù)下載單元可以通過進(jìn)程間通信的方式,或者函數(shù)調(diào)用的方式向多媒體 播放模塊發(fā)送通知消息,進(jìn)程間通信或者函數(shù)調(diào)用均為現(xiàn)有技術(shù)中常用的方 式,在此不再贅述。
需要說明的是,有些多媒體文件在播放時(shí)需要一定的數(shù)據(jù)來初始化多媒體
播放模塊,對(duì)于這類多媒體文件,P2P數(shù)據(jù)下載模塊會(huì)在下載完必要的初始化 數(shù)據(jù)后再向多媒體播放模塊發(fā)送通知消息。例如,對(duì)于WMV格式的多媒體文 件,P2P數(shù)據(jù)下載模塊就需要下載多媒體文件頭部的一段數(shù)據(jù)和尾部的一段數(shù) 據(jù)后,再向多媒體播放模塊發(fā)送通知消息,因?yàn)槎嗝襟w播放模塊需要上述頭數(shù)
據(jù)和尾數(shù)據(jù)進(jìn)行初始化梯:作。
步驟309:判斷多媒體文件是否下載完成,若是,則執(zhí)行步驟310;否貝'J, 返回步驟306。
步驟310:向多媒體播放模塊發(fā)送下載成功消息,結(jié)束當(dāng)前流程。
本發(fā)明多媒體文件的下載方法的第三實(shí)施例流程如圖4所示,該實(shí)施例示 出了 P2P數(shù)據(jù)下載模塊接收到多媒體播放模塊的請(qǐng)求多i某體文件中特定位置 的數(shù)據(jù)的消息后,從P2P網(wǎng)絡(luò)中下載多媒體文件的過程
步驟401: P2P數(shù)據(jù)下載模塊接收多媒體播放模塊發(fā)送的請(qǐng)求多媒體文件 中特定位置的l丈據(jù)的消息。
本發(fā)明中特定位置通常指對(duì)多媒體文件執(zhí)行前進(jìn)播放或后退播放后的數(shù) 據(jù)所在的位置。用戶可以在順序播放多媒體文件的過程中,通過鍵盤、鼠標(biāo)或 遙控器等向該P(yáng)2P數(shù)據(jù)下載模塊發(fā)送前進(jìn)或者后退等播放控制命令。
步驟402: P2P數(shù)據(jù)下載模塊從P2P網(wǎng)絡(luò)中獲取該特定位置的數(shù)據(jù)。
步驟403: P2P數(shù)據(jù)下載模塊向多媒體播放模塊發(fā)送獲取特定位置數(shù)據(jù)成 功的消息。
步驟404: P2P數(shù)據(jù)下載模塊從P2P網(wǎng)絡(luò)中順序下載該特定位置后的多媒 體文件數(shù)據(jù),結(jié)束當(dāng)前流程。
與本發(fā)明多媒體文件的下載方法相對(duì)應(yīng),本發(fā)明還提供了 一種多媒體文件 的播放方法。
本發(fā)明多々某體文件的插-放方法的第一實(shí)施例流程如圖5所示步驟501:接收播放多媒體文件的通知消息。 步驟502:預(yù)讀該多^ 某體文件中的數(shù)據(jù)。
其中,當(dāng)接收到順序播放多媒體文件的通知消息后,按照預(yù)先設(shè)置的數(shù)據(jù) 長(zhǎng)度順序讀取所述多媒體文件的數(shù)據(jù);當(dāng)接收到播放多媒體文件特定位置數(shù)據(jù) 的通知消息后,按照預(yù)先設(shè)置的數(shù)據(jù)長(zhǎng)度讀取多媒體文件特定位置的數(shù)據(jù)。
步驟503:根據(jù)數(shù)據(jù)的預(yù)讀情況對(duì)多媒體文件進(jìn)行播放。
其中,當(dāng)讀取到的數(shù)據(jù)均為從P2P網(wǎng)絡(luò)中獲取的所述多媒體文件的數(shù)據(jù) 時(shí),播放所述多媒體文件;當(dāng)讀取到的數(shù)據(jù)均為創(chuàng)建所述多媒體文件時(shí)寫入的 初始標(biāo)記時(shí),緩沖所述多媒體文件的播放;當(dāng)讀取到的數(shù)據(jù)為所述多媒體文件 的尾數(shù)據(jù)時(shí),在播放完所述尾數(shù)據(jù)后結(jié)束所述多媒體文件的播放。
本發(fā)明多媒體文件的下載方法的第二實(shí)施例流程如圖6所示,該實(shí)施例結(jié) 合圖1所示的P2P數(shù)據(jù)下載模塊和多媒體播放模塊,示出了接收到順序播放多 媒體文件的通知消息后,根據(jù)數(shù)據(jù)預(yù)讀的不同情況對(duì)多媒體文件進(jìn)行播放的詳 細(xì)過程
步驟601:多媒體播放模塊接收P2P數(shù)據(jù)下載模塊發(fā)送的順序播放多媒體 文件的通知消息。
步驟602:按照預(yù)先設(shè)置的數(shù)據(jù)長(zhǎng)度從P2P數(shù)據(jù)下載模塊中順序讀取該多 媒體文件的數(shù)據(jù)。
需要說明的是,多媒體播放模塊在播放多媒體文件時(shí),每播放一幀畫面都 需要預(yù)讀一些數(shù)據(jù),在預(yù)讀數(shù)據(jù)時(shí)可以按照預(yù)先設(shè)置的數(shù)據(jù)長(zhǎng)度進(jìn)行讀取,也 可以進(jìn)行不固定長(zhǎng)度的讀取,在此本發(fā)明不做限制。
步驟603:判斷讀取到的數(shù)據(jù)是否為多媒體文件的尾數(shù)據(jù),若是,則執(zhí)行 步驟609;否則,執(zhí)行步驟604。
步驟604:判斷讀取到的數(shù)據(jù)是否全為預(yù)先寫入的初始標(biāo)記,若是,則執(zhí) 行步驟605;否則,執(zhí)行步驟608。
通常預(yù)先寫入的初始標(biāo)記為"0",則相應(yīng)地,判斷讀:f又到的數(shù)據(jù)是否全為 "0"。
步驟605:多媒體播放模塊緩沖對(duì)該多媒體文件的播放。當(dāng)讀取到的數(shù)據(jù)全為預(yù)先寫入的初始標(biāo)記時(shí),多媒體播放模塊暫停當(dāng)前播 放,此時(shí)可以通過顯示器或者電視屏幕等顯示設(shè)備,以圖形或者文字的方式捐^ 示用戶"數(shù)據(jù)正在緩沖"或者類似的信息。
步驟606:多媒體播放模塊發(fā)送獲取對(duì)應(yīng)該初始標(biāo)記的數(shù)據(jù)的請(qǐng)求消息。
在進(jìn)行數(shù)據(jù)緩沖時(shí),多媒體播放模塊可以通知P2P數(shù)據(jù)下載模塊所需位置 處的數(shù)據(jù),該數(shù)據(jù)的長(zhǎng)度可以是預(yù)先設(shè)置好的固定長(zhǎng)度,也可以為根據(jù)需要的 不固定的長(zhǎng)度,通知的方式仍然可以采用進(jìn)程間通信或者函數(shù)調(diào)用。
步驟607:判斷是否從P2P數(shù)據(jù)下載模塊中獲取到對(duì)應(yīng)初始標(biāo)記的數(shù)據(jù), 若是,則執(zhí)行步驟608,否則,返回步驟607。
步驟608:播放獲取到的多媒體文件數(shù)據(jù),返回步驟602。
當(dāng)多媒體播放模塊判斷從P2P數(shù)據(jù)下載模塊中獲取到了對(duì)應(yīng)初始標(biāo)記的 數(shù)據(jù)后,可以從暫停播放的狀態(tài)恢復(fù)到播放狀態(tài)。
步驟609:播放完獲取到的尾數(shù)據(jù)后結(jié)束對(duì)該多々某體文件的播放,結(jié)束當(dāng) 前流程。
需要說明的是,在下載完全部的多媒體文件之前,如果接收到用戶發(fā)送的 結(jié)束播放的命令,則多媒體播放模塊即可隨時(shí)結(jié)束播放,當(dāng)然用戶也可以將結(jié) 束播放的命令發(fā)送給P2P數(shù)據(jù)下載模塊,P2P數(shù)據(jù)下載模塊停止播放該多媒體 文件,進(jìn)一步可以將已經(jīng)下載完的多媒體文件的數(shù)據(jù)刪除。
本發(fā)明多々某體文件的下載方法的第三實(shí)施例流程如圖7所示,該實(shí)施例結(jié) 合圖1所示的P2P數(shù)據(jù)下載模塊和多媒體播放模塊,示出了接收到播放多媒體 文件特定位置的通知消息后,根據(jù)數(shù)據(jù)預(yù)讀的不同情況對(duì)多媒體文件進(jìn)行播放 的詳細(xì)過程
步驟701:多媒體播放模塊接收P2P數(shù)據(jù)下載模塊發(fā)送的播放多媒體文件 特定位置凄t據(jù)的通知消息。
本發(fā)明多媒體文件的播放方法可以支持播放下載中的多媒體文件的特定 位置的數(shù)據(jù),特定位置通常指對(duì)多媒體文件執(zhí)行前進(jìn)播放或后退播放后的數(shù)據(jù) 所在的位置。用戶可以在順序播放多媒體文件的過程中,通過鍵盤、鼠標(biāo)或遙 控器等向該P(yáng)2P數(shù)據(jù)下載模塊發(fā)送前進(jìn)或者后退等播放控制命令。步驟702:按照預(yù)先設(shè)置的數(shù)據(jù)長(zhǎng)度從P2P數(shù)據(jù)下載模塊中該多媒體文件 的特定位置處順序讀取該多媒體文件的數(shù)據(jù)。
步驟703:判斷讀取到的數(shù)據(jù)是否為多媒體文件的尾數(shù)據(jù),若是,則執(zhí)行 步驟709;否則,執(zhí)行步驟704。
步驟704:判斷讀取到的數(shù)據(jù)是否全為預(yù)先寫入的初始標(biāo)記,若是,則執(zhí) 行步驟705;否則, -執(zhí)行步驟708。
步驟705:多媒體播放模塊緩沖對(duì)該多媒體文件的播放。
步驟706:多媒體播放模塊發(fā)送獲取對(duì)應(yīng)該初始標(biāo)記的數(shù)據(jù)的請(qǐng)求消息。
步驟707:判斷是否從P2P數(shù)據(jù)下載模塊中獲取到對(duì)應(yīng)初始標(biāo)記的數(shù)據(jù), 若是,則執(zhí)行步驟708,否則,返回步驟707。
步驟708:播放獲取到的多媒體文件數(shù)據(jù),返回步驟702。
步驟709:播放完獲取到的尾數(shù)據(jù)后結(jié)束對(duì)該多媒體文件的播;故,結(jié)束當(dāng) 前流程。
為了詳細(xì)說明本發(fā)明多媒體文件的播放方法中的預(yù)讀過程,下面以預(yù)讀多 媒體文件中順序相連的數(shù)據(jù)A、數(shù)據(jù)B和數(shù)據(jù)C為例進(jìn)行說明,并假設(shè)多媒 體文件中寫入的初始標(biāo)記均為"0"。其中,數(shù)據(jù)A為當(dāng)前要播放的數(shù)據(jù),數(shù) 據(jù)B和數(shù)據(jù)C為需要順序預(yù)讀的數(shù)據(jù),首先讀取數(shù)據(jù)A,然后判斷數(shù)據(jù)A是 否為多々某體文件的尾數(shù)據(jù),如果不是尾數(shù)據(jù)則判斷數(shù)據(jù)A是否為全"0",如 果不是則播放數(shù)據(jù)A;特別的,當(dāng)數(shù)據(jù)A為尾數(shù)據(jù)時(shí),在播放完數(shù)據(jù)A后結(jié) 束流程,當(dāng)數(shù)據(jù)A為全"0"時(shí),則從P2P網(wǎng)絡(luò)中下載該數(shù)據(jù)A并寫入多媒體 文件的對(duì)應(yīng)位置;然后將要播放的數(shù)據(jù)及要預(yù)讀的數(shù)據(jù)順序向后移動(dòng),即播放 數(shù)據(jù)A時(shí),數(shù)據(jù)B為當(dāng)前要播放的數(shù)據(jù),而數(shù)據(jù)C為當(dāng)前需要預(yù)讀的數(shù)據(jù), 隨后對(duì)數(shù)據(jù)B進(jìn)行同樣的判斷過程。由于信息家電中具有插^故功能的嵌入式 設(shè)備,在多數(shù)時(shí)候采用硬件解碼器直接解碼播放的多媒體文件,由于硬件解碼 器的容錯(cuò)性一般不好,因此如果直接將錯(cuò)誤數(shù)據(jù)傳輸給硬件解碼器進(jìn)行解碼, 則容易產(chǎn)生不可預(yù)知的錯(cuò)誤,造成系統(tǒng)故障,而應(yīng)用本發(fā)明中的預(yù)讀方法,可 以避免上述問題的發(fā)生。
與本發(fā)明多媒體文件的下載方法和播放方法相對(duì)應(yīng),本發(fā)明還提供了一種
19多媒體文件的播放系統(tǒng)。
本發(fā)明多媒體文件的播放系統(tǒng)的實(shí)施例框圖如圖8所示,該系統(tǒng)包括多 媒體文件下載模塊810和多媒體文件播放模塊820。
其中,多媒體文件下載模塊810包括創(chuàng)建單元811,用于接收到播放請(qǐng) 求后,創(chuàng)建凄t據(jù)均為初始標(biāo)記的多i某體文件;請(qǐng)求單元812,用于向P2P網(wǎng)絡(luò) 順序請(qǐng)求所述多媒體文件的數(shù)據(jù);寫入單元813,用于將所述多媒體文件的數(shù) 據(jù)寫入所述多々某體文件中對(duì)應(yīng)的初始標(biāo)記所在的位置。
其中,多媒體文件播放模塊820包括預(yù)讀單元821,用于接收到播放多 媒體文件的通知消息后,預(yù)讀所述多媒體文件中的數(shù)據(jù);播放單元822,用于 根據(jù)所述數(shù)據(jù)的預(yù)讀情況對(duì)所述多媒體文件進(jìn)行播放。
進(jìn)一步的,多4某體文件下載模塊810還包括第一發(fā)送單元,用于發(fā)送播 放所述多媒體文件的通知消息;判斷單元,用于判斷所述多媒體文件是否下載 完成;執(zhí)行單元,用于當(dāng)所述多々某體文件下載完成時(shí),發(fā)送下載成功消息,否 則,執(zhí)行所述請(qǐng)求單元的功能;接收單元,用于接收請(qǐng)求所述多媒體文件中特 定位置數(shù)據(jù)的消息,所述請(qǐng)求單元812進(jìn)一步用于,通過P2P網(wǎng)絡(luò)獲取所述特 定位置的數(shù)據(jù);第二發(fā)送單元,用于發(fā)送獲取所述特定位置數(shù)據(jù)成功的消息, 所述請(qǐng)求單元812進(jìn)一步用于,順序下載所述特定位置后的多々某體文件的數(shù) 據(jù)。
具體的,預(yù)讀單元821包括第一預(yù)讀單元,用于當(dāng)接收到順序播放多媒 體文件的通知消息后,按照預(yù)先設(shè)置的數(shù)據(jù)長(zhǎng)度順序讀取所述多媒體文件的數(shù) 據(jù);第二預(yù)讀單元,用于當(dāng)接收到播放多媒體文件特定位置數(shù)據(jù)的通知消息后, 按照預(yù)先設(shè)置的數(shù)據(jù)長(zhǎng)度讀取多媒體文件特定位置的數(shù)據(jù)。
具體的,播放單元822包括順序播放單元,用于當(dāng)讀取到的數(shù)據(jù)均為從 P2P網(wǎng)絡(luò)中獲取的所述多媒體文件的數(shù)據(jù)時(shí),播放所述多媒體文件;緩沖播放 單元,用于當(dāng)讀取到的數(shù)據(jù)均為創(chuàng)建所述多媒體文件時(shí)寫入的初始標(biāo)記時(shí),緩 沖所述多媒體文件的播放;結(jié)束播放單元,用于當(dāng)讀取到的數(shù)據(jù)為所述多媒體 文件的尾數(shù)據(jù)時(shí),在播放完所述尾數(shù)據(jù)后結(jié)束所述多媒體文件的播放;進(jìn)一步, 多媒體文件播放模塊820還包括發(fā)送單元,用于當(dāng)緩沖所述多媒體文件的播 放時(shí),發(fā)送獲取對(duì)應(yīng)所述初始標(biāo)記的數(shù)據(jù)的請(qǐng)求消息。與本發(fā)明多々某體文件的下載方法相對(duì)應(yīng),本發(fā)明還提供了 一種多媒體文件 的下載裝置。
本發(fā)明多媒體文件的下載裝置的第一實(shí)施例框圖如圖9所示,該裝置包 括創(chuàng)建單元910、請(qǐng)求單元920和寫入單元930。
其中,創(chuàng)建單元910,用于接收到播放請(qǐng)求后,創(chuàng)建數(shù)據(jù)均為初始標(biāo)記的 多媒體文件;請(qǐng)求單元920,用于向P2P網(wǎng)絡(luò)順序請(qǐng)求所述多媒體文件的數(shù)據(jù); 寫入單元930,用于將所述多J 某體文件的數(shù)據(jù)寫入所述多々某體文件中對(duì)應(yīng)的初 始標(biāo)記所在的位置。
本發(fā)明多媒體文件的下載裝置的第二實(shí)施例框圖如圖IO所示,該裝置包 括創(chuàng)建單元IOIO、請(qǐng)求單元1020、寫入單元1030、第一發(fā)送單元1040、判 斷單元1050、執(zhí)行單元1060、接收單元1070、第二發(fā)送單元1080。
其中,創(chuàng)建單元1010包括獲取種子文件單元1011,用于獲取所述多i某 體文件的種子文件;解析種子文件單元1012,用于解析所述種子文件得到所 述多媒體文件大小的信息;創(chuàng)建多媒體文件單元1013,用于根據(jù)所述信息創(chuàng) 建與所述多媒體文件大'J、一致的多媒體文件;寫入初始標(biāo)記單元1014,用于 將所述多媒體文件中的數(shù)據(jù)全部寫為所述初始標(biāo)記。
請(qǐng)求單元1020包括設(shè)置長(zhǎng)度單元1021,用于預(yù)先設(shè)置多媒體文件中的 數(shù)據(jù)的長(zhǎng)度;獲取數(shù)據(jù)單元1022,用于根據(jù)所述數(shù)據(jù)的長(zhǎng)度順序獲取P2P網(wǎng) 絡(luò)中所述多媒體文件的數(shù)據(jù)。
寫入單元1030用于將所述多媒體文件的數(shù)據(jù)寫入所述多媒體文件中對(duì)應(yīng) 的初始標(biāo)記所在的位置。
第一發(fā)送單元1040用于發(fā)送播放所述多々某體文件的通知消息;
判斷單元1050用于判斷所述多媒體文件是否下載完成;
執(zhí)行單元1060用于當(dāng)所述多4某體文件下載完成時(shí),發(fā)送下載成功消息, 否則,執(zhí)行所述請(qǐng)求單元1020的功能。
接收單元1070用于接收請(qǐng)求所述多媒體文件中特定位置數(shù)據(jù)的消息,所 述請(qǐng)求單元1020進(jìn)一步用于通過P2P網(wǎng)絡(luò)獲取所述特定位置的數(shù)據(jù)。
第二發(fā)送單元1080用于發(fā)送獲取所述特定位置數(shù)據(jù)成功的消息,所述請(qǐng)求單元1020進(jìn)一步用于順序下載所述特定位置后的多^ 某體文件的凄丈據(jù)。
與本發(fā)明多媒體文件的播放方法相對(duì)應(yīng),本發(fā)明還提供了 一種多媒體文件 的播放裝置。
本發(fā)明多媒體文件的播放裝置的第一實(shí)施例框圖如圖11所示,該裝置包
括預(yù)讀單元1110和播放單元1120。
其中,預(yù)讀單元1110,用于接收到播放多媒體文件的通知消息后,預(yù)讀 所述多媒體文件中的數(shù)據(jù);播放單元1120,用于根據(jù)所述數(shù)據(jù)的預(yù)讀情況對(duì) 所述多媒體文件進(jìn)行播放。
本發(fā)明多媒體文件的播放裝置的第二實(shí)施例框圖如圖12所示,該裝置包 括預(yù)讀單元1210、播方i:單元1220和發(fā)送單元1230。
其中,預(yù)讀單元1210包括第一預(yù)讀單元1211,用于當(dāng)接收到順序播放多 媒體文件的通知消息后,按照預(yù)先設(shè)置的數(shù)據(jù)長(zhǎng)度順序讀取所述多媒體文件的 數(shù)據(jù);第二預(yù)讀單元1212,用于當(dāng)接收到播放多媒體文件特定位置數(shù)據(jù)的通 知消息后,按照預(yù)先設(shè)置的數(shù)據(jù)長(zhǎng)度讀取多媒體文件特定位置的數(shù)據(jù)。
播放單元1220包括順序播放單元1221,用于當(dāng)讀取到的數(shù)據(jù)均為從P2P 網(wǎng)絡(luò)中獲取的所述多媒體文件的數(shù)據(jù)時(shí),播放所述多媒體文件;緩沖播放單元 1222,用于當(dāng)讀取到的數(shù)據(jù)均為創(chuàng)建所述多媒體文件時(shí)寫入的初始標(biāo)記時(shí),緩 沖所述多媒體文件的播放;結(jié)束播放單元1223,用于當(dāng)讀取到的數(shù)據(jù)為所述 多媒體文件的尾數(shù)據(jù)時(shí),在播放完所述尾數(shù)據(jù)后結(jié)束所述多媒體文件的播放。
發(fā)送單元1230用于當(dāng)緩沖所述多媒體文件的播放時(shí),發(fā)送獲取對(duì)應(yīng)所述 初始標(biāo)記的lt據(jù)的請(qǐng)求消息。
雖然通過實(shí)施例描繪了本發(fā)明,本領(lǐng)域普通技術(shù)人員知道,本發(fā)明有許 多變形和變化而不脫離本發(fā)明的精神,希望所附的權(quán)利要求包括這些變形和變 化而不脫離本發(fā)明的精神。
權(quán)利要求
1、一種多媒體文件的下載方法,其特征在于,包括接收到播放請(qǐng)求后,創(chuàng)建數(shù)據(jù)均為初始標(biāo)記的多媒體文件;向P2P網(wǎng)絡(luò)順序請(qǐng)求所述多媒體文件的數(shù)據(jù);將所述多媒體文件的數(shù)據(jù)寫入所述多媒體文件中對(duì)應(yīng)的初始標(biāo)記所在的位置。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述創(chuàng)建數(shù)據(jù)均為初始標(biāo) 記的多媒體文件包括獲取所述多媒體文件的種子文件;解析所述種子文件得到所述多媒體文件大d 、的信息;根據(jù)所述信息創(chuàng)建與所述多媒體文件大小一致的多媒體文件;將所述多媒體文件中的數(shù)據(jù)全部寫為所述初始標(biāo)記。
3、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述向P2P網(wǎng)絡(luò)順序請(qǐng)求 多媒體文件的數(shù)據(jù)包括預(yù)先設(shè)置多媒體文件中的數(shù)據(jù)的長(zhǎng)度;根據(jù)所述數(shù)據(jù)的長(zhǎng)度順序獲取P2P網(wǎng)絡(luò)中所述多媒體文件的數(shù)據(jù)。
4、 根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括 發(fā)送播放所述多媒體文件的通知消息; 判斷所述多媒體文件是否下載完成;當(dāng)所述多4某體文件下載完成時(shí),發(fā)送下載成功消息,否則,執(zhí)行所述順序 請(qǐng)求的步驟。
5、 根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括 接收請(qǐng)求所述多媒體文件中特定位置數(shù)據(jù)的消息; 通過P2P網(wǎng)絡(luò)獲取所述特定位置的數(shù)據(jù); 發(fā)送獲取所述特定位置數(shù)據(jù)成功的消息; 順序下載所述特定位置后的多媒體文件的數(shù)據(jù)。
6、 一種多媒體文件的播放方法,其特征在于,包括接收到播放多媒體文件的通知消息后,預(yù)讀所述多媒體文件中的數(shù)據(jù); 根據(jù)所述數(shù)據(jù)的預(yù)讀情況對(duì)所述多媒體文件進(jìn)行播放。
7、 根據(jù)權(quán)利要求6所述的方法,其特征在于,當(dāng)接收到順序播放多媒體 文件的通知消息后,所述預(yù)讀多媒體文件中的數(shù)據(jù)具體為按照預(yù)先設(shè)置的數(shù) 據(jù)長(zhǎng)度順序讀取所述多媒體文件的數(shù)據(jù);當(dāng)接收到播放多媒體文件特定位置數(shù)據(jù)的通知消息后,所述預(yù)讀多媒體文 件中的數(shù)據(jù)具體為按照預(yù)先設(shè)置的數(shù)據(jù)長(zhǎng)度讀取多媒體文件特定位置的數(shù) 據(jù)。
8、 根據(jù)權(quán)利要求6所述的方法,其特征在于,所述根據(jù)數(shù)據(jù)的預(yù)讀情況 對(duì)多媒體文件進(jìn)行播放包括當(dāng)讀取到的數(shù)據(jù)均為從P2P網(wǎng)絡(luò)中獲取的所述多媒體文件的數(shù)據(jù)時(shí),播放 所述多媒體文件;當(dāng)讀取到的數(shù)據(jù)均為創(chuàng)建所述多媒體文件時(shí)寫入的初始標(biāo)記時(shí),緩沖所述 多媒體文件的播放;當(dāng)讀取到的數(shù)據(jù)為所述多媒體文件的尾數(shù)據(jù)時(shí),在播放完所述尾數(shù)據(jù)后結(jié) 束所述多媒體文件的播放。
9、 根據(jù)權(quán)利要求8所述的方法,其特征在于,還包括當(dāng)緩沖所述多媒體文件的播放時(shí),發(fā)送獲取對(duì)應(yīng)所述初始標(biāo)記的數(shù)據(jù)的請(qǐng) 求消息。
10、 一種多媒體文件的播放系統(tǒng),其特征在于,包括多媒體文件下載模塊 和多媒體文件播放模塊,所述多媒體文件下載模塊包括創(chuàng)建單元,用于接收到播放請(qǐng)求后,創(chuàng)建數(shù)據(jù)均為初始標(biāo)記的多媒體文件;請(qǐng)求單元,用于向P2P網(wǎng)絡(luò)順序請(qǐng)求所述多々某體文件的數(shù)據(jù);寫入單元,用于將所述多媒體文件的數(shù)據(jù)寫入所述多媒體文件中對(duì)應(yīng)的初 始標(biāo)記所在的位置;所述多媒體文件播放模塊包括預(yù)讀單元,用于接收到播放多媒體文件的通知消息后,預(yù)讀所述多媒體文件中的數(shù)據(jù);播放單元,用于根據(jù)所述數(shù)據(jù)的預(yù)讀情況對(duì)所述多媒體文件進(jìn)行播放。
11、 根據(jù)權(quán)利要求10所述的系統(tǒng),其特征在于,所述多媒體文件下載模 塊還包括第一發(fā)送單元,用于發(fā)送播放所述多媒體文件的通知消息; 判斷單元,用于判斷所述多媒體文件是否下載完成; 執(zhí)行單元,用于當(dāng)所述多媒體文件下載完成時(shí),發(fā)送下載成功消息,否貝'J, 執(zhí)行所述請(qǐng)求單元的功能。
12、 根據(jù)權(quán)利要求10所述的系統(tǒng),其特征在于,所述多媒體文件下載模 塊還包括接收單元,用于接收請(qǐng)求所述多媒體文件中特定位置數(shù)據(jù)的消息; 所述請(qǐng)求單元進(jìn)一步用于,通過P2P網(wǎng)絡(luò)獲取所述特定位置的數(shù)據(jù); 第二發(fā)送單元,用于發(fā)送獲取所述特定位置數(shù)據(jù)成功的消息; 所述請(qǐng)求單元進(jìn)一步用于,順序下載所述特定位置后的多媒體文件的數(shù)據(jù)。
13、 根據(jù)權(quán)利要求IO所述的系統(tǒng),其特征在于,所述預(yù)讀單元包括 第一預(yù)讀單元,用于當(dāng)接收到順序播放多媒體文件的通知消息后,按照預(yù)先設(shè)置的數(shù)據(jù)長(zhǎng)度順序讀取所述多媒體文件的數(shù)據(jù);第二預(yù)讀單元,用于當(dāng)接收到播放多媒體文件特定位置數(shù)據(jù)的通知消息 后,按照預(yù)先設(shè)置的數(shù)據(jù)長(zhǎng)度讀取多媒體文件特定位置的數(shù)據(jù)。
14、 根據(jù)權(quán)利要求IO所述的系統(tǒng),其特征在于,所述播放單元包括順序播放單元,用于當(dāng)讀取到的數(shù)據(jù)均為從P2P網(wǎng)絡(luò)中獲取的所述多媒體 文件的數(shù)據(jù)時(shí),播放所述多媒體文件;緩沖播放單元,用于當(dāng)讀取到的數(shù)據(jù)均為創(chuàng)建所述多媒體文件時(shí)寫入的初 始標(biāo)記時(shí),緩沖所述多媒體文件的播放;結(jié)束播放單元,用于當(dāng)讀取到的數(shù)據(jù)為所述多媒體文件的尾數(shù)據(jù)時(shí),在播放完所述尾數(shù)據(jù)后結(jié)束所述多媒體文件的播放; 所述多媒體文件播放模塊還包括發(fā)送單元,用于當(dāng)緩沖所述多媒體文件的播放時(shí),發(fā)送獲取對(duì)應(yīng)所述初始 標(biāo)記的數(shù)據(jù)的請(qǐng)求消息。
15、 一種多媒體文件的下載裝置,其特征在于,包括創(chuàng)建單元,用于接收到播放請(qǐng)求后,創(chuàng)建數(shù)據(jù)均為初始標(biāo)記的多媒體文件;請(qǐng)求單元,用于向P2P網(wǎng)絡(luò)順序請(qǐng)求所述多媒體文件的數(shù)據(jù);寫入單元,用于將所述多媒體文件的數(shù)據(jù)寫入所述多媒體文件中對(duì)應(yīng)的初 始標(biāo)記所在的位置。
16、 根據(jù)權(quán)利要求15所述的裝置,其特征在于,所述創(chuàng)建單元包括 獲取種子文件單元,用于獲取所述多媒體文件的種子文件; 解析種子文件單元,用于解析所述種子文件得到所述多i某體文件大小的信自 創(chuàng)建多媒體文件單元,用于根據(jù)所述信息創(chuàng)建與所述多媒體文件大小一致 的多々某體文件;寫入初始標(biāo)記單元,用于將所述多々某體文件中的數(shù)據(jù)全部寫為所述初始標(biāo)記。
17、 根據(jù)權(quán)利要求15所述的裝置,其特征在于,所述請(qǐng)求單元包括 設(shè)置長(zhǎng)度單元,用于預(yù)先設(shè)置多媒體文件中的數(shù)據(jù)的長(zhǎng)度; 獲取數(shù)據(jù)單元,用于根據(jù)所述數(shù)據(jù)的長(zhǎng)度順序獲取P2P網(wǎng)絡(luò)中所述多媒體文件的數(shù)據(jù)。
18、 根據(jù)權(quán)利要求15所述的裝置,其特征在于,還包括第一發(fā)送單元,用于發(fā)送播放所述多々某體文件的通知消息;判斷單元,用于判斷所述多媒體文件是否下載完成;執(zhí)行單元,用于當(dāng)所述多媒體文件下載完成時(shí),發(fā)送下載成功消息,否則, 執(zhí)行所述請(qǐng)求單元的功能。
19、 根據(jù)權(quán)利要求15所述的裝置,其特征在于,還包括接收單元,用于接收請(qǐng)求所述多媒體文件中特定位置數(shù)據(jù)的消息; 所述請(qǐng)求單元進(jìn)一步用于,通過P2P網(wǎng)絡(luò)獲取所述特定位置的數(shù)據(jù); 第二發(fā)送單元,用于發(fā)送獲取所述特定位置數(shù)據(jù)成功的消息; 所述請(qǐng)求單元進(jìn)一步用于,順序下載所述特定位置后的多媒體文件的數(shù)據(jù)。
20、 一種多媒體文件的播放裝置,其特征在于,包括預(yù)讀單元,用于接收到播放多媒體文件的通知消息后,預(yù)讀所述多媒體文 件中的數(shù)據(jù);播放單元,用于根據(jù)所述數(shù)據(jù)的預(yù)讀情況對(duì)所述多媒體文件進(jìn)行播放。
21、 根據(jù)權(quán)利要求20所述的裝置,其特征在于,所述預(yù)讀單元包括 第一預(yù)讀單元,用于當(dāng)接收到順序播放多媒體文件的通知消息后,按照預(yù)先設(shè)置的數(shù)據(jù)長(zhǎng)度順序讀取所述多媒體文件的數(shù)據(jù);第二預(yù)讀單元,用于當(dāng)接收到播放多媒體文件特定位置數(shù)據(jù)的通知消息 后,按照預(yù)先設(shè)置的數(shù)據(jù)長(zhǎng)度讀取多媒體文件特定位置的數(shù)據(jù)。
22、 根據(jù)權(quán)利要求20所述的裝置,其特征在于,所述播放單元包括順序播放單元,用于當(dāng)讀取到的數(shù)據(jù)均為從P2P網(wǎng)絡(luò)中獲取的所述多媒體 文件的數(shù)據(jù)時(shí),播放所述多媒體文件;緩沖播放單元,用于當(dāng)讀取到的數(shù)據(jù)均為創(chuàng)建所述多媒體文件時(shí)寫入的初 始標(biāo)記時(shí),緩沖所述多媒體文件的播放;結(jié)束播放單元,用于當(dāng)讀取到的數(shù)據(jù)為所述多媒體文件的尾數(shù)據(jù)時(shí),在播 放完所述尾數(shù)據(jù)后結(jié)束所述多媒體文件的播放;所述裝置還包括發(fā)送單元,用于當(dāng)緩沖所述多媒體文件的4番放時(shí),發(fā)送獲取對(duì)應(yīng)所述初始 標(biāo)記的數(shù)據(jù)的請(qǐng)求消息。
全文摘要
本發(fā)明公開了一種多媒體文件的下載方法、播放方法、系統(tǒng)及設(shè)備,所述下載方法包括接收到播放請(qǐng)求后,創(chuàng)建數(shù)據(jù)均為初始標(biāo)記的多媒體文件;向P2P網(wǎng)絡(luò)順序請(qǐng)求所述多媒體文件的數(shù)據(jù);將所述多媒體文件的數(shù)據(jù)寫入所述多媒體文件中對(duì)應(yīng)的初始標(biāo)記所在的位置。本發(fā)明由于數(shù)據(jù)的下載通過P2P網(wǎng)絡(luò)進(jìn)行,因此在多用戶同時(shí)下載時(shí)不會(huì)對(duì)中央服務(wù)器造成壓力,相應(yīng)提高了用戶的服務(wù)質(zhì)量;由于向P2P網(wǎng)絡(luò)順序請(qǐng)求多媒體文件的數(shù)據(jù),因此不必等待所有的多媒體文件下載完成再進(jìn)行播放,而是順序播放已下載完成的文件,提高了用戶體驗(yàn);由于可以主動(dòng)請(qǐng)求下載多媒體文件中特定位置的數(shù)據(jù),因此滿足了下載播放過程中用戶所進(jìn)行的前進(jìn)或后退等VOD操作。
文檔編號(hào)H04L12/16GK101588319SQ20081011218
公開日2009年11月25日 申請(qǐng)日期2008年5月21日 優(yōu)先權(quán)日2008年5月21日
發(fā)明者張永濤, 衛(wèi) 王 申請(qǐng)人:閃聯(lián)信息技術(shù)工程中心有限公司