專利名稱:實(shí)現(xiàn)網(wǎng)絡(luò)媒體同步視聽(tīng)的方法、系統(tǒng)及用戶端的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,具體的特別涉及一種實(shí)現(xiàn)網(wǎng)絡(luò)媒體同步視聽(tīng)的方法、系統(tǒng)及用戶端。
背景技術(shù):
網(wǎng)絡(luò)媒體播放器是一種不需要計(jì)算機(jī)本地硬盤(pán)保存媒體文件,就能夠直接從網(wǎng)絡(luò)中獲取媒體資源并進(jìn)行實(shí)時(shí)播放的工具,因此不僅用戶操作方便,而且能夠節(jié)約本地資源?,F(xiàn)有很多媒體編碼格式都支持邊下載邊播放的工作模式,在應(yīng)用網(wǎng)絡(luò)媒體播放器播放網(wǎng)絡(luò)媒體時(shí),網(wǎng)絡(luò)地址可以是URL(統(tǒng)一資源定位),也可以是點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)技術(shù)P2P的網(wǎng)絡(luò)種子。以網(wǎng)絡(luò)音樂(lè)播放器為例,有些是利用P2P網(wǎng)絡(luò)讓用戶在線播放海量音樂(lè),也有些是使用固定的音樂(lè)服務(wù)器穩(wěn)定地向用戶提供服務(wù),還有些通過(guò)搜索引擎獲取所需音樂(lè)的URL地址,從而實(shí)現(xiàn)在線播放的功能,使用戶能夠方便快捷地欣賞最新最全的音樂(lè)。
現(xiàn)有的網(wǎng)絡(luò)直播技術(shù)可以提供同步視聽(tīng)的效果,例如參與P2P直播的所有用戶都能夠同步觀看同一頻道的相同視頻內(nèi)容。在采用P2P方式進(jìn)行視頻直播時(shí),P2P的直播運(yùn)營(yíng)商設(shè)置一臺(tái)或多臺(tái)P2P種子服務(wù)器(如果分配了多臺(tái)種子服務(wù)器,則它們通常分布在不同的網(wǎng)段中,以便向用戶提供較高的帶寬);當(dāng)一個(gè)新用戶接入到該網(wǎng)絡(luò)視頻時(shí),系統(tǒng)在已有的在線節(jié)點(diǎn)中尋找部分與其較為接近的節(jié)點(diǎn)分配給該新用戶,節(jié)點(diǎn)類(lèi)型可以是最快的網(wǎng)段的節(jié)點(diǎn)、最近的節(jié)點(diǎn)、隨機(jī)節(jié)點(diǎn)或者種子服務(wù)器等;在P2P數(shù)據(jù)傳輸過(guò)程中,可以將固定時(shí)間的視頻作為一塊數(shù)據(jù)包,每個(gè)節(jié)點(diǎn)向其它節(jié)點(diǎn)周期性交換數(shù)據(jù)塊的傳送情況,若本節(jié)點(diǎn)下載的數(shù)據(jù)包較慢,則主動(dòng)從其它較快的節(jié)點(diǎn)上下載數(shù)據(jù)包,以便跟上視頻播放的進(jìn)度;在P2P訪問(wèn)中,系統(tǒng)會(huì)動(dòng)態(tài)地保存速度快的節(jié)點(diǎn)的IP地址,以備在新用戶加入時(shí),向其返回該IP地址來(lái)協(xié)助新用戶提高下載速率。應(yīng)用P2P的方式來(lái)實(shí)現(xiàn)同步視聽(tīng)時(shí),用戶無(wú)法自主選擇需要的媒體內(nèi)容,因?yàn)橹辈サ囊曨l或音頻內(nèi)容由內(nèi)容提供商預(yù)先安排,因此用戶無(wú)法任意點(diǎn)播視頻內(nèi)容。
現(xiàn)有的網(wǎng)絡(luò)媒體播放器在工作時(shí),將本地計(jì)算機(jī)對(duì)顯卡或聲卡輸出的實(shí)時(shí)采樣作為輸入,并編碼發(fā)送到遠(yuǎn)程用戶,以此來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)媒體的實(shí)時(shí)同步共享,現(xiàn)有的網(wǎng)絡(luò)媒體播放器的工作流程如圖1所示,該圖1示出了在兩個(gè)用戶之間實(shí)現(xiàn)視聽(tīng)同步的情況步驟101用戶A使用媒體播放器在本地計(jì)算機(jī)上播放網(wǎng)絡(luò)中的影音文件。
步驟102本地計(jì)算機(jī)的聲卡和顯卡在輸出影音文件信號(hào)的同時(shí),對(duì)該信號(hào)進(jìn)行采集。
步驟103將采集到的信號(hào)進(jìn)行壓縮編碼后通過(guò)網(wǎng)絡(luò)傳輸至用戶B。
步驟104用戶B使用的本地計(jì)算機(jī)接收到該信號(hào)后對(duì)其進(jìn)行解碼。
步驟105將解碼后的多媒體數(shù)據(jù)輸入本地計(jì)算機(jī)的聲卡或顯卡,實(shí)現(xiàn)用戶之間的同步視聽(tīng)。
由上述對(duì)現(xiàn)有技術(shù)的描述可知,現(xiàn)有的網(wǎng)絡(luò)媒體播放器播放的媒體內(nèi)容需要經(jīng)過(guò)輸出后再采樣,使得媒體信號(hào)的質(zhì)量下降;并且直接從聲卡讀取的媒體數(shù)據(jù)包括本地計(jì)算機(jī)上當(dāng)前播放的所有聲音,因此可能包括雜音,導(dǎo)致無(wú)法消除本地計(jì)算機(jī)上其它應(yīng)用的干擾;在用戶試圖與多個(gè)用戶同步視聽(tīng)時(shí),容易由于網(wǎng)絡(luò)用戶接入帶寬較小,造成視聽(tīng)效果的瓶頸。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種實(shí)現(xiàn)網(wǎng)絡(luò)媒體同步視聽(tīng)的方法,以克服現(xiàn)有技術(shù)中網(wǎng)絡(luò)媒體內(nèi)容需要經(jīng)過(guò)輸出采樣后再發(fā)送,從而導(dǎo)致媒體信號(hào)質(zhì)量下降,同步視聽(tīng)效果差的問(wèn)題。
本發(fā)明的另一目的在于提供一種的實(shí)現(xiàn)網(wǎng)絡(luò)媒體同步視聽(tīng)的系統(tǒng),以克服現(xiàn)有系統(tǒng)中的網(wǎng)絡(luò)媒體內(nèi)容經(jīng)過(guò)輸出采樣后發(fā)送,導(dǎo)致媒體信號(hào)質(zhì)量下降同步視聽(tīng)效果差的問(wèn)題。
本發(fā)明的又一目的在于提供一種用戶終端,以克服現(xiàn)有用戶終端之間同步視聽(tīng)效果差的問(wèn)題。
為解決上述技術(shù)問(wèn)題,本發(fā)明提供如下技術(shù)方案一種實(shí)現(xiàn)網(wǎng)絡(luò)媒體同步視聽(tīng)的方法,包括
主控用戶向加入同步視聽(tīng)的受控用戶發(fā)送當(dāng)前播放的網(wǎng)絡(luò)媒體地址及播放信息,所述播放信息包括播放進(jìn)度信息和播放狀態(tài)信息;受控用戶根據(jù)所述網(wǎng)絡(luò)媒體地址和播放進(jìn)度信息,執(zhí)行所述播放狀態(tài)信息指示的操作,實(shí)現(xiàn)與主控用戶同步視聽(tīng)所述網(wǎng)絡(luò)媒體。
所述播放狀態(tài)信息包括持續(xù)播放、暫停播放、向前拖動(dòng)播放、或向后拖動(dòng)播放。
所述播放狀態(tài)信息為持續(xù)播放,所述受控用戶根據(jù)所述網(wǎng)絡(luò)媒體地址和播放進(jìn)度信息,執(zhí)行所述播放狀態(tài)信息指示的操作包括受控用戶向所述網(wǎng)絡(luò)媒體地址對(duì)應(yīng)的服務(wù)器發(fā)送獲取所述網(wǎng)絡(luò)媒體的請(qǐng)求,所述請(qǐng)求中包含該網(wǎng)絡(luò)媒體當(dāng)前播放進(jìn)度信息;所述服務(wù)器讀取該網(wǎng)絡(luò)媒體當(dāng)前播放進(jìn)度至結(jié)束時(shí)的內(nèi)容,并將該內(nèi)容發(fā)送至受控用戶;所述受控用戶根據(jù)接收到的內(nèi)容持續(xù)播放所述網(wǎng)絡(luò)媒體。
所述主控用戶和受控用戶之間擴(kuò)展了P2P功能,所述方法進(jìn)一步包括主控用戶和受控用戶之間周期性發(fā)送數(shù)據(jù)更新消息,所述數(shù)據(jù)更新消息包含網(wǎng)絡(luò)媒體地址、播放進(jìn)度信息、播放狀態(tài)信息以及下載進(jìn)度信息;所述主控用戶和受控用戶中下載進(jìn)度慢的用戶根據(jù)所述數(shù)據(jù)更新消息,向下載進(jìn)度快的用戶請(qǐng)求所述網(wǎng)絡(luò)媒體的后續(xù)內(nèi)容;所述下載進(jìn)度快的用戶將已下載的所述網(wǎng)絡(luò)媒體的后續(xù)內(nèi)容發(fā)送至所述下載進(jìn)度慢的用戶。
所述播放狀態(tài)信息為暫停播放,受控用戶根據(jù)所述網(wǎng)絡(luò)媒體地址和播放進(jìn)度信息,執(zhí)行所述播放狀態(tài)信息指示的操作包括受控用戶停止向所述網(wǎng)絡(luò)媒體地址對(duì)應(yīng)的服務(wù)器發(fā)送獲取所述網(wǎng)絡(luò)媒體的請(qǐng)求;所述網(wǎng)絡(luò)媒體地址對(duì)應(yīng)的服務(wù)器停止向所述受控用戶發(fā)送網(wǎng)絡(luò)媒體內(nèi)容;所述受控用戶從所述播放進(jìn)度信息處暫停播放所述網(wǎng)絡(luò)媒體。
所述方法進(jìn)一步包括
主控用戶和受控用戶之間停止周期性發(fā)送所述數(shù)據(jù)更新消息,且所述下載進(jìn)度快的用戶停止將已下載的所述網(wǎng)絡(luò)媒體的后續(xù)內(nèi)容發(fā)送至所述下載進(jìn)度慢的用戶。
所述方法進(jìn)一步包括主控用戶和受控用戶中的任意一方終止同步視聽(tīng)所述網(wǎng)絡(luò)媒體。
一種實(shí)現(xiàn)網(wǎng)絡(luò)媒體同步視聽(tīng)的系統(tǒng),包括網(wǎng)絡(luò)媒體服務(wù)器,用于存放同步視聽(tīng)的網(wǎng)絡(luò)媒體;主控用戶端,用于向加入同步視聽(tīng)的受控用戶端發(fā)送當(dāng)前播放的網(wǎng)絡(luò)媒體地址及播放信息,所述播放信息包括播放進(jìn)度信息和播放狀態(tài)信息;受控用戶端,用于根據(jù)所述網(wǎng)絡(luò)媒體地址和播放進(jìn)度信息,執(zhí)行所述播放狀態(tài)信息指示的操作,實(shí)現(xiàn)與主控用戶端同步視聽(tīng)所述網(wǎng)絡(luò)媒體。
一種用戶端,包括發(fā)送控制信息單元,用于向加入同步視聽(tīng)的其它用戶端發(fā)送當(dāng)前播放的網(wǎng)絡(luò)媒體地址及播放信息,所述播放信息包括播放進(jìn)度信息和播放狀態(tài)信息。
用戶端擴(kuò)展了P2P功能,所述用戶端進(jìn)一步包括發(fā)送更新消息單元,用于向加入同步視聽(tīng)的其它用戶端周期性發(fā)送數(shù)據(jù)更新消息,所述數(shù)據(jù)更新消息包含網(wǎng)絡(luò)媒體地址、播放進(jìn)度信息、播放狀態(tài)信息以及下載進(jìn)度信息;發(fā)送網(wǎng)絡(luò)媒體單元,用于所述用戶端的下載進(jìn)度大于其它用戶端時(shí),向其它用戶端發(fā)送已下載的網(wǎng)絡(luò)媒體;請(qǐng)求網(wǎng)絡(luò)媒體單元,用于所述用戶端的下載進(jìn)度小于其它用戶端時(shí),向其它用戶端請(qǐng)求所述網(wǎng)絡(luò)媒體。
一種用戶端,包括接收控制信息單元,用于接收其它用戶端發(fā)送的當(dāng)前播放的網(wǎng)絡(luò)媒體地址及播放信息,所述播放信息包括播放進(jìn)度信息和播放狀態(tài)信息;執(zhí)行控制信息單元,用于根據(jù)網(wǎng)絡(luò)媒體地址和播放進(jìn)度信息,執(zhí)行播放狀態(tài)信息指示的操作,實(shí)現(xiàn)與其它用戶端同步視聽(tīng)所述網(wǎng)絡(luò)媒體。
所述執(zhí)行控制信息單元包括發(fā)送請(qǐng)求單元,用于向所述網(wǎng)絡(luò)媒體地址對(duì)應(yīng)的服務(wù)器發(fā)送獲取所述網(wǎng)絡(luò)媒體的請(qǐng)求,所述請(qǐng)求中包含該網(wǎng)絡(luò)媒體當(dāng)前播放進(jìn)度信息;接收網(wǎng)絡(luò)媒體單元,用于接收所述服務(wù)器發(fā)送的網(wǎng)絡(luò)媒體。
用戶端擴(kuò)展了P2P功能,所述用戶端進(jìn)一步包括發(fā)送更新消息單元,用于向其它用戶端周期性發(fā)送數(shù)據(jù)更新消息,所述數(shù)據(jù)更新消息包含網(wǎng)絡(luò)媒體地址、播放進(jìn)度信息、播放狀態(tài)信息以及下載進(jìn)度信息;發(fā)送網(wǎng)絡(luò)媒體單元,用于所述用戶端的下載進(jìn)度大于其它用戶端時(shí),向其它用戶端發(fā)送已下載的網(wǎng)絡(luò)媒體;請(qǐng)求網(wǎng)絡(luò)媒體單元,用于所述用戶端的下載進(jìn)度小于其它用戶端時(shí),向其它用戶端請(qǐng)求所述網(wǎng)絡(luò)媒體。
由以上本發(fā)明提供的技術(shù)方案可見(jiàn),應(yīng)用本發(fā)明實(shí)現(xiàn)網(wǎng)絡(luò)媒體同步視聽(tīng)的方法,主控用戶無(wú)需將當(dāng)前播放的網(wǎng)絡(luò)媒體內(nèi)容輸出采樣后,再發(fā)送到受控用戶,而是通過(guò)將網(wǎng)絡(luò)媒體地址和播放信息發(fā)送給受控用戶,受控用戶根據(jù)網(wǎng)絡(luò)媒體地址和播放進(jìn)度信息,執(zhí)行播放狀態(tài)信息指示的持續(xù)播放、暫停播放等操作,使得用戶間可以靈活地同步視聽(tīng)網(wǎng)絡(luò)媒體,達(dá)到良好的協(xié)同娛樂(lè)效果;進(jìn)一步的,本發(fā)明實(shí)現(xiàn)同步視聽(tīng)網(wǎng)絡(luò)媒體的用戶之間通過(guò)擴(kuò)展的P2P功能,保證了各個(gè)用戶在組成的P2P網(wǎng)絡(luò)中同步視聽(tīng)的流暢度提高,相應(yīng)增強(qiáng)了系統(tǒng)的性能。
圖1為現(xiàn)有網(wǎng)絡(luò)媒體播放器的工作流程圖;圖2為本發(fā)明方法的第一實(shí)施例流程圖;圖3為本發(fā)明方法的第二實(shí)施例流程圖;圖4為本發(fā)明方法的第三實(shí)施例流程圖;圖5為本發(fā)明方法的第四實(shí)施例流程圖;圖6為本發(fā)明方法的第五實(shí)施例流程圖;
圖7為本發(fā)明方法的第六實(shí)施例流程圖;圖8為本發(fā)明方法的第七實(shí)施例流程圖;圖9為本發(fā)明系統(tǒng)的實(shí)施例框圖;圖10為本發(fā)明用戶端的第一實(shí)施例框圖;圖11為本發(fā)明用戶端的第二實(shí)施例框圖。
具體實(shí)施例方式
本發(fā)明的核心是提供一種實(shí)現(xiàn)網(wǎng)絡(luò)媒體同步視聽(tīng)的方法,該方法中主控用戶向加入同步視聽(tīng)的受控用戶發(fā)送當(dāng)前播放的網(wǎng)絡(luò)媒體地址、播放進(jìn)度信息和播放狀態(tài)信息;受控用戶根據(jù)網(wǎng)絡(luò)媒體地址和播放進(jìn)度信息,執(zhí)行播放狀態(tài)信息指示的操作,從而實(shí)現(xiàn)與主控用戶同步視聽(tīng)同一網(wǎng)絡(luò)媒體。
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,并使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。
本發(fā)明方法第一實(shí)施例的流程圖如圖2所示步驟201主控用戶向加入同步視聽(tīng)的受控用戶發(fā)送當(dāng)前播放的網(wǎng)絡(luò)媒體地址及播放信息。
其中,受控用戶可以向主控用戶發(fā)送加入同步視聽(tīng)的請(qǐng)求,或者由主控用戶邀請(qǐng)受控用戶加入同步視聽(tīng)。
具體的,播放信息包括播放狀態(tài)信息和播放進(jìn)度信息。播放狀態(tài)信息包括持續(xù)播放、暫停播放、向前拖動(dòng)播放、或向后拖動(dòng)播放等;播放進(jìn)度信息指網(wǎng)絡(luò)媒體當(dāng)前播放的位置。
步驟202受控用戶根據(jù)網(wǎng)絡(luò)媒體地址和播放進(jìn)度信息,執(zhí)行播放狀態(tài)信息指示的操作,實(shí)現(xiàn)與主控用戶同步視聽(tīng)網(wǎng)絡(luò)媒體。
特別的,當(dāng)播放狀態(tài)信息為持續(xù)播放時(shí),受控用戶向網(wǎng)絡(luò)媒體地址對(duì)應(yīng)的服務(wù)器發(fā)送獲取網(wǎng)絡(luò)媒體的請(qǐng)求,該請(qǐng)求中包含該網(wǎng)絡(luò)媒體當(dāng)前播放進(jìn)度信息;服務(wù)器讀取該網(wǎng)絡(luò)媒體當(dāng)前播放進(jìn)度至結(jié)束時(shí)的內(nèi)容,并將該內(nèi)容發(fā)送至受控用戶;受控用戶根據(jù)接收到的內(nèi)容持續(xù)播放該網(wǎng)絡(luò)媒體。
進(jìn)一步的,主控用戶和受控用戶之間擴(kuò)展了P2P功能,則主控用戶和受控用戶之間周期性發(fā)送數(shù)據(jù)更新消息,該數(shù)據(jù)更新消息包含網(wǎng)絡(luò)媒體地址、播放進(jìn)度信息、播放狀態(tài)信息以及下載進(jìn)度信息;主控用戶和受控用戶中下載進(jìn)度慢的用戶根據(jù)數(shù)據(jù)更新消息,向下載進(jìn)度快的用戶請(qǐng)求網(wǎng)絡(luò)媒體的后續(xù)內(nèi)容;下載進(jìn)度快的用戶將已下載的網(wǎng)絡(luò)媒體的后續(xù)內(nèi)容發(fā)送至下載進(jìn)度慢的用戶。
特別的,播放狀態(tài)信息為暫停播放時(shí),受控用戶停止向網(wǎng)絡(luò)媒體地址對(duì)應(yīng)的服務(wù)器發(fā)送獲取網(wǎng)絡(luò)媒體的請(qǐng)求;網(wǎng)絡(luò)媒體地址對(duì)應(yīng)的服務(wù)器停止向該受控用戶發(fā)送網(wǎng)絡(luò)媒體內(nèi)容;受控用戶從播放進(jìn)度信息處暫停播放該網(wǎng)絡(luò)媒體。
進(jìn)一步的,主控用戶和受控用戶之間停止周期性發(fā)送所述數(shù)據(jù)更新消息,且下載進(jìn)度快的用戶停止將已下載的網(wǎng)絡(luò)媒體的后續(xù)內(nèi)容發(fā)送至下載進(jìn)度慢的用戶。
特別的,主控用戶和受控用戶中的任意一方都可以終止同步視聽(tīng)網(wǎng)絡(luò)媒體。
本發(fā)明方法第二實(shí)施例的流程圖如圖3所示,該實(shí)施例示出了兩個(gè)用戶之間持續(xù)播放某一網(wǎng)絡(luò)媒體資源,從而實(shí)現(xiàn)同步視聽(tīng)的流程,其中由受控用戶B向主控用戶A發(fā)送加入同步視聽(tīng)的請(qǐng)求步驟301主控用戶A從網(wǎng)絡(luò)媒體提供方點(diǎn)播、獲取并且實(shí)時(shí)播放某一網(wǎng)絡(luò)媒體資源。
步驟302受控用戶B主動(dòng)向主控用戶A發(fā)送加入同步視聽(tīng)的請(qǐng)求。
步驟303主控用戶A將當(dāng)前播放的網(wǎng)絡(luò)媒體資源的網(wǎng)絡(luò)地址和當(dāng)前播放進(jìn)度等信息發(fā)送至受控用戶B。
步驟304受控用戶B根據(jù)該網(wǎng)絡(luò)媒體資源的網(wǎng)絡(luò)地址和當(dāng)前播放進(jìn)度信息向網(wǎng)絡(luò)媒體提供方請(qǐng)求該網(wǎng)絡(luò)媒體資源的當(dāng)前播放內(nèi)容。
具體的,當(dāng)前播放進(jìn)度信息通常為該網(wǎng)絡(luò)媒體資源的偏移信息,該偏移信息是對(duì)應(yīng)的網(wǎng)絡(luò)媒體資源的偏移量。例如,該網(wǎng)絡(luò)媒體資源的大小為3M字節(jié),且該網(wǎng)絡(luò)媒體播放到1M字節(jié)時(shí)對(duì)應(yīng)的時(shí)間為50秒,若此時(shí)受控用戶B加入,則主控用戶A發(fā)送的偏移信息就是該網(wǎng)絡(luò)媒體資源在50秒處所對(duì)應(yīng)內(nèi)容的位置,即該網(wǎng)絡(luò)媒體資源的偏移量。
步驟305網(wǎng)絡(luò)媒體提供方根據(jù)該網(wǎng)絡(luò)媒體資源當(dāng)前播放進(jìn)度信息,發(fā)送該網(wǎng)絡(luò)媒體資源的當(dāng)前播放內(nèi)容到受控用戶B。
具體的,網(wǎng)絡(luò)媒體提供方根據(jù)步驟304中獲得的偏移信息,從該網(wǎng)絡(luò)媒體資源當(dāng)前播放的偏移量處開(kāi)始順序發(fā)送該網(wǎng)絡(luò)媒體資源到受控用戶B。
下面以用戶A和用戶B同步收聽(tīng)網(wǎng)絡(luò)中的一首MP3歌曲為例,詳細(xì)說(shuō)明第二實(shí)施例的實(shí)現(xiàn)過(guò)程。在MP3文件中包含多個(gè)順序的音頻數(shù)據(jù)幀,數(shù)據(jù)幀之間的采樣率和長(zhǎng)度可以不同,但無(wú)論數(shù)據(jù)幀的長(zhǎng)度為多少,每一數(shù)據(jù)幀對(duì)應(yīng)的播放時(shí)間均為26ms,因此每個(gè)MP3音頻文件是由若干個(gè)26ms的數(shù)據(jù)幀組成,任意的播放時(shí)刻都對(duì)應(yīng)了相關(guān)的數(shù)據(jù)幀。
用戶A通過(guò)搜索等途徑獲取了歌曲S的網(wǎng)絡(luò)鏈接地址“http://192.168.0.1/music/words.mp3”后,用戶A使用網(wǎng)絡(luò)音樂(lè)播放器根據(jù)該鏈接地址實(shí)時(shí)獲取并播放歌曲S;用戶B獲知用戶A當(dāng)前的聽(tīng)歌狀態(tài)后,向用戶A發(fā)送加入同步收聽(tīng)歌曲S的請(qǐng)求;用戶A接受用戶B的請(qǐng)求后,向用戶B返回歌曲S的網(wǎng)絡(luò)地址“http://192.168.0.1/music/words.mp3”,以及用戶A當(dāng)前收聽(tīng)歌曲S的播放進(jìn)度信息,假設(shè)歌曲S的大小為3M字節(jié),而此時(shí)用戶A收聽(tīng)到1M字節(jié)的數(shù)據(jù)幀處,則“1M”即為歌曲S的播放進(jìn)度信息;用戶B收到歌曲S的網(wǎng)絡(luò)地址和播放進(jìn)度信息后,向網(wǎng)絡(luò)地址“http://192.168.0.1/music/words.mp3”發(fā)送歌曲S的內(nèi)容請(qǐng)求,該內(nèi)容請(qǐng)求中攜帶歌曲S的當(dāng)前播放進(jìn)度信息“1M”和結(jié)束信息(這里的結(jié)束信息可以是歌曲S結(jié)尾處對(duì)應(yīng)的3M,也可以是基于一定數(shù)目的數(shù)據(jù)幀的分批下載,例如每隔0.3M請(qǐng)求下載一次);網(wǎng)絡(luò)媒體提供方的服務(wù)器192.168.0.1根據(jù)收到的內(nèi)容請(qǐng)求,從該服務(wù)器上讀取文件words.mp3從1M字節(jié)起到結(jié)束信息處的數(shù)據(jù)內(nèi)容,并將該數(shù)據(jù)內(nèi)容發(fā)送到用戶B;用戶B接收到數(shù)據(jù)內(nèi)容后,即從歌曲S的1M字節(jié)處開(kāi)始播放,并且在播放期間,用戶B可以自動(dòng)從服務(wù)器上獲取該歌曲S的后續(xù)數(shù)據(jù)幀,實(shí)現(xiàn)持續(xù)并與用戶A同步播放該歌曲S。
本發(fā)明方法第三實(shí)施例的流程圖如圖4所示,該實(shí)施例示出了兩個(gè)用戶之間持續(xù)播放某一網(wǎng)絡(luò)媒體資源,從而實(shí)現(xiàn)同步視聽(tīng)的流程,其中由主控用戶A邀請(qǐng)受控用戶B加入同步視聽(tīng)步驟401主控用戶A從網(wǎng)絡(luò)媒體提供方點(diǎn)播、獲取并且實(shí)時(shí)播放某一網(wǎng)絡(luò)媒體資源。
步驟402主控用戶A邀請(qǐng)受控用戶B加入同步視聽(tīng),并將當(dāng)前播放的網(wǎng)絡(luò)媒體資源的網(wǎng)絡(luò)地址和當(dāng)前播放進(jìn)度等信息發(fā)送至受控用戶B。
步驟403受控用戶B收到該邀請(qǐng)后返回接受該邀請(qǐng)的信息到主控用戶A(受控用戶B也可以選擇返回拒絕該邀請(qǐng)的信息到主控用戶A,從而結(jié)束同步視聽(tīng)流程)。
步驟404受控用戶B根據(jù)該網(wǎng)絡(luò)媒體資源的網(wǎng)絡(luò)地址和當(dāng)前播放進(jìn)度信息向網(wǎng)絡(luò)媒體提供方請(qǐng)求該網(wǎng)絡(luò)媒體資源的當(dāng)前播放內(nèi)容。
步驟405網(wǎng)絡(luò)媒體提供方根據(jù)該網(wǎng)絡(luò)媒體資源當(dāng)前播放進(jìn)度信息,發(fā)送該網(wǎng)絡(luò)媒體資源的當(dāng)前播放內(nèi)容到受控用戶B。
當(dāng)用戶A和用戶B同步收聽(tīng)網(wǎng)絡(luò)中的一首MP3歌曲時(shí),第三實(shí)施例的具體實(shí)現(xiàn)過(guò)程與第二實(shí)施例的具體實(shí)現(xiàn)過(guò)程類(lèi)似,不同點(diǎn)僅在于用戶A邀請(qǐng)用戶B加入同步收聽(tīng),因此在此不再贅述。
本發(fā)明方法第四實(shí)施例的流程圖如圖5所示,該實(shí)施例示出了兩個(gè)用戶之中的受控用戶B從網(wǎng)絡(luò)媒體提供方獲得網(wǎng)絡(luò)媒體內(nèi)容的速度較慢,影響正常播放時(shí),通過(guò)擴(kuò)展的P2P功能持續(xù)播放該網(wǎng)絡(luò)媒體,從而實(shí)現(xiàn)同步視聽(tīng)的流程步驟501主控用戶A從網(wǎng)絡(luò)媒體提供方點(diǎn)播、獲取并且實(shí)時(shí)播放某一網(wǎng)絡(luò)媒體資源。
步驟502受控用戶B主動(dòng)向主控用戶A發(fā)送加入同步視聽(tīng)的請(qǐng)求(該步驟也可以是主控用戶A邀請(qǐng)受控用戶B加入同步視聽(tīng))。
步驟503主控用戶A將當(dāng)前播放的網(wǎng)絡(luò)媒體資源的網(wǎng)絡(luò)地址和當(dāng)前播放進(jìn)度等信息發(fā)送至受控用戶B。
步驟504受控用戶B根據(jù)該網(wǎng)絡(luò)媒體資源的網(wǎng)絡(luò)地址和當(dāng)前播放進(jìn)度信息向網(wǎng)絡(luò)媒體提供方請(qǐng)求該網(wǎng)絡(luò)媒體資源的當(dāng)前播放內(nèi)容。
步驟505網(wǎng)絡(luò)媒體提供方根據(jù)該網(wǎng)絡(luò)媒體資源當(dāng)前播放進(jìn)度信息,發(fā)送該網(wǎng)絡(luò)媒體資源的當(dāng)前播放內(nèi)容到受控用戶B。
步驟506主控用戶A和受控用戶B之間周期性發(fā)送當(dāng)前播放的網(wǎng)絡(luò)媒體資源的網(wǎng)絡(luò)地址、播放進(jìn)度信息、播放狀態(tài)信息和下載進(jìn)度信息到對(duì)方,將這些信息作為數(shù)據(jù)更新消息。
具體的,下載進(jìn)度是指已經(jīng)從網(wǎng)絡(luò)媒體提供方處下載的該網(wǎng)絡(luò)媒體資源的數(shù)據(jù)幀,為了播放的流暢,通常下載的數(shù)據(jù)幀總是領(lǐng)先于當(dāng)前播放的數(shù)據(jù)幀。
步驟507受控用戶B根據(jù)周期性交換的數(shù)據(jù)更新消息向主控用戶A請(qǐng)求由于網(wǎng)絡(luò)故障等原因下載速度慢于播放速度的后續(xù)網(wǎng)絡(luò)媒體內(nèi)容。
步驟508主控用戶A響應(yīng)受控用戶B的請(qǐng)求,將已經(jīng)下載的后續(xù)網(wǎng)絡(luò)媒體內(nèi)容對(duì)應(yīng)的數(shù)據(jù)幀發(fā)送給受控用戶B。
仍以用戶A和用戶B同步收聽(tīng)網(wǎng)絡(luò)中的一首MP3歌曲為例,詳細(xì)說(shuō)明第四實(shí)施例的實(shí)現(xiàn)過(guò)程。在該實(shí)現(xiàn)過(guò)程中,假設(shè)用戶B由于網(wǎng)絡(luò)故障或帶寬問(wèn)題導(dǎo)致了下載進(jìn)度慢于當(dāng)前播放進(jìn)度,而用戶A的下載速率正常。
用戶A通過(guò)搜索等途徑獲取了歌曲S的網(wǎng)絡(luò)鏈接地址“http://192.168.0.1/music/words.mp3”后,用戶A使用網(wǎng)絡(luò)音樂(lè)播放器根據(jù)該鏈接地址實(shí)時(shí)獲取并播放歌曲S;用戶B獲知用戶A當(dāng)前的聽(tīng)歌狀態(tài)后,向用戶A發(fā)送加入同步收聽(tīng)歌曲S的請(qǐng)求;用戶A接受用戶B的請(qǐng)求后,向用戶B返回歌曲S的網(wǎng)絡(luò)地址“http://192.168.0.1/music/words.mp3”,以及用戶A當(dāng)前收聽(tīng)歌曲S的播放進(jìn)度信息,假設(shè)歌曲S的大小為3M字節(jié),而此時(shí)用戶A收聽(tīng)到1M字節(jié)的數(shù)據(jù)幀處,則1M即為歌曲S的播放進(jìn)度信息;用戶B收到歌曲S的網(wǎng)絡(luò)地址和播放進(jìn)度信息后,向網(wǎng)絡(luò)地址“http://192.168.0.1/music/words.mp3”發(fā)送歌曲S的內(nèi)容請(qǐng)求,該內(nèi)容請(qǐng)求中攜帶歌曲S的當(dāng)前播放進(jìn)度信息“1M”和結(jié)束信息(這里的結(jié)束信息可以是歌曲S結(jié)尾處對(duì)應(yīng)的3M,也可以是基于一定數(shù)目的數(shù)據(jù)幀的分批下載,例如每隔0.3M請(qǐng)求下載一次);
網(wǎng)絡(luò)媒體提供方的服務(wù)器192.168.0.1根據(jù)收到的內(nèi)容請(qǐng)求,從該服務(wù)器上讀取文件words.mp3從1M字節(jié)起到結(jié)束信息處的數(shù)據(jù)內(nèi)容,并將該數(shù)據(jù)內(nèi)容發(fā)送到用戶B;用戶B接收到數(shù)據(jù)內(nèi)容后,即從歌曲S的1M字節(jié)處開(kāi)始播放,并且在播放期間,用戶B可以自動(dòng)從服務(wù)器上獲取該歌曲S的后續(xù)數(shù)據(jù)幀;用戶A和用戶B周期性地向?qū)Ψ桨l(fā)送歌曲S的播放進(jìn)度信息、播放狀態(tài)信息以及下載進(jìn)度信息作為該歌曲S播放的數(shù)據(jù)更新消息;用戶B由于與服務(wù)器192.168.0.1的網(wǎng)絡(luò)故障原因?qū)е聫脑摲?wù)器上下載歌曲S的進(jìn)度慢于播放歌曲S的進(jìn)度,因此用戶B根據(jù)數(shù)據(jù)更新消息向用戶A請(qǐng)求播放歌曲S所需要的后續(xù)數(shù)據(jù)幀,假設(shè)所請(qǐng)求的數(shù)據(jù)幀對(duì)應(yīng)于歌曲S的1.6M-2.0M字節(jié)的數(shù)據(jù)內(nèi)容;用戶A由于下載進(jìn)度較好,因此接收到用戶B的請(qǐng)求后,將已經(jīng)下載的歌曲S的1.6M-2.0M字節(jié)的數(shù)據(jù)內(nèi)容發(fā)送給用戶B,從而保證了在用戶B網(wǎng)絡(luò)故障時(shí)實(shí)現(xiàn)與用戶A同步收聽(tīng)歌曲S。
本發(fā)明方法第五實(shí)施例的流程圖如圖6所示,該實(shí)施例示出了兩個(gè)用戶之間持續(xù)播放某一網(wǎng)絡(luò)媒體一段時(shí)間后,暫停該網(wǎng)絡(luò)媒體的播放,從而實(shí)現(xiàn)同步視聽(tīng)的流程步驟601主控用戶A暫停當(dāng)前播放的網(wǎng)絡(luò)媒體資源時(shí),同時(shí)發(fā)送該網(wǎng)絡(luò)媒體資源的地址,播放進(jìn)度信息和暫停狀態(tài)信息等信息到受控用戶B。
步驟602受控用戶B收到主控用戶A發(fā)送的信息后,向網(wǎng)絡(luò)媒體提供方中斷請(qǐng)求該網(wǎng)絡(luò)媒體的后續(xù)內(nèi)容。
特別的,當(dāng)主控用戶A和受控用戶B之間擴(kuò)展了P2P功能時(shí),受控用戶B在向網(wǎng)絡(luò)媒體提供方中斷請(qǐng)求該網(wǎng)絡(luò)媒體后續(xù)內(nèi)容的同時(shí),也停止與主控用戶A之間交換后續(xù)的網(wǎng)絡(luò)媒體內(nèi)容數(shù)據(jù)幀。
步驟603受控用戶B暫停該網(wǎng)絡(luò)媒體內(nèi)容的播放,同時(shí)等待主控用戶A發(fā)送后續(xù)的播放狀態(tài)信息。
具體的,主控用戶A在暫停播放該網(wǎng)絡(luò)媒體內(nèi)容一段時(shí)間后,可以向用戶B發(fā)送的播放狀態(tài)信息包括繼續(xù)播放的狀態(tài)信息、或停止播放的狀態(tài)信息、或向前拖動(dòng)播放的狀態(tài)信息、或向后拖動(dòng)播放的狀態(tài)信息等。
在該實(shí)施例五中,也可以由受控用戶B首先暫停當(dāng)前網(wǎng)絡(luò)媒體的播放,并發(fā)送相關(guān)的控制信息到主控用戶A。
特別的,若受控用戶B首先停止當(dāng)前網(wǎng)絡(luò)媒體的播放,則表示其主動(dòng)退出當(dāng)前同步視聽(tīng)狀態(tài),則受控用戶B向主控用戶A發(fā)送停止同步的狀態(tài)信息,主控用戶A不再向受控用戶B發(fā)送后續(xù)播放狀態(tài)信息,并且若兩個(gè)用戶之間擴(kuò)展了P2P功能,則主控用戶A也同時(shí)停止向受控用戶B發(fā)送該網(wǎng)絡(luò)媒體數(shù)據(jù)幀的同步更新消息。
仍然以用戶A和用戶B同步收聽(tīng)網(wǎng)絡(luò)中的一首MP3歌曲為例,詳細(xì)說(shuō)明第五實(shí)施例的實(shí)現(xiàn)過(guò)程。
用戶A與用戶B在持續(xù)同步收聽(tīng)了歌曲S一段時(shí)間后,用戶A暫停播放歌曲S,同時(shí)向用戶B發(fā)送如下控制信息歌曲S的網(wǎng)絡(luò)地址“http://192.168.0.1/music/words.mp3”,歌曲S當(dāng)前的播放進(jìn)度信息(假設(shè)用戶A當(dāng)前收聽(tīng)到歌曲S的2M字節(jié)內(nèi)容處,則將信息“2M”作為播放進(jìn)度信息),以及歌曲S當(dāng)前的播放狀態(tài)信息(用戶A當(dāng)前暫停播放該歌曲S,因此該播放狀態(tài)信息為停止播放);用戶B收到用戶A發(fā)送的控制信息后,從該歌曲S的播放進(jìn)度信息中獲知,用戶A在歌曲S的2M內(nèi)容處暫停了播放,因此用戶B不再向網(wǎng)絡(luò)媒體提供方的服務(wù)器192.168.0.1請(qǐng)求該歌曲S的后續(xù)內(nèi)容;若用戶A和用戶B之間擴(kuò)展了P2P功能,則用戶B除了停止向服務(wù)器192.168.0.1請(qǐng)求歌曲S的后續(xù)內(nèi)容外,同時(shí)停止與用戶A交換該歌曲S的2M字節(jié)內(nèi)容后的數(shù)據(jù)幀的更新消息;用戶A和用戶B同時(shí)暫停播放歌曲S,同時(shí)用戶B等待用戶A發(fā)送歌曲S的后續(xù)播放狀態(tài)信息,包括繼續(xù)播放歌曲S、或停止播放歌曲S、或向前拖動(dòng)播放歌曲S、或向后拖動(dòng)播放歌曲S。
本發(fā)明方法第六實(shí)施例的流程圖如圖7所示,該實(shí)施例示出了三個(gè)用戶之間通過(guò)P2P功能持續(xù)播放某一網(wǎng)絡(luò)媒體,從而實(shí)現(xiàn)三個(gè)用戶之間同步視聽(tīng)的流程,其中受控用戶C從網(wǎng)絡(luò)媒體提供方獲得網(wǎng)絡(luò)媒體內(nèi)容的速度較慢
步驟701主控用戶A從網(wǎng)絡(luò)媒體提供方點(diǎn)播、獲取并且實(shí)時(shí)播放某一網(wǎng)絡(luò)媒體資源。
步驟702受控用戶B主動(dòng)向主控用戶A發(fā)送加入同步視聽(tīng)的請(qǐng)求(該步驟也可以是主控用戶A邀請(qǐng)受控用戶B加入同步視聽(tīng))。
步驟703主控用戶A將當(dāng)前播放的網(wǎng)絡(luò)媒體資源的網(wǎng)絡(luò)地址和當(dāng)前播放進(jìn)度等信息發(fā)送至受控用戶B。
步驟704受控用戶B根據(jù)該網(wǎng)絡(luò)媒體資源的網(wǎng)絡(luò)地址和當(dāng)前播放進(jìn)度信息向網(wǎng)絡(luò)媒體提供方請(qǐng)求該網(wǎng)絡(luò)媒體資源的當(dāng)前播放內(nèi)容。
步驟705網(wǎng)絡(luò)媒體提供方根據(jù)該網(wǎng)絡(luò)媒體資源當(dāng)前播放進(jìn)度信息,發(fā)送該網(wǎng)絡(luò)媒體資源的當(dāng)前播放內(nèi)容到受控用戶B。
步驟706主控用戶A和受控用戶B之間周期性發(fā)送當(dāng)前播放的網(wǎng)絡(luò)媒體資源的網(wǎng)絡(luò)地址、播放進(jìn)度信息、播放狀態(tài)信息和下載進(jìn)度信息到對(duì)方,將這些信息作為數(shù)據(jù)更新消息。
步驟707受控用戶B根據(jù)周期性交換的數(shù)據(jù)更新消息向主控用戶A請(qǐng)求由于網(wǎng)絡(luò)故障等原因下載速度慢于播放速度的后續(xù)網(wǎng)絡(luò)媒體內(nèi)容。
步驟708主控用戶A響應(yīng)受控用戶B的請(qǐng)求,將已經(jīng)下載的后續(xù)網(wǎng)絡(luò)媒體內(nèi)容對(duì)應(yīng)的數(shù)據(jù)幀發(fā)送給受控用戶B。
步驟709受控用戶C主動(dòng)向主控用戶A發(fā)送加入同步視聽(tīng)的請(qǐng)求(該步驟也可以是主控用戶A邀請(qǐng)受控用戶C加入同步視聽(tīng))。
步驟710主控用戶A將當(dāng)前播放的網(wǎng)絡(luò)媒體資源的網(wǎng)絡(luò)地址、當(dāng)前播放進(jìn)度信息、當(dāng)前同步視聽(tīng)的主控用戶A和受控用戶B的網(wǎng)絡(luò)地址和端口發(fā)送至受控用戶C。
步驟711主控用戶A、受控用戶B和受控用戶C之間周期性發(fā)送當(dāng)前播放的網(wǎng)絡(luò)媒體資源的網(wǎng)絡(luò)地址、播放進(jìn)度信息、播放狀態(tài)信息和下載進(jìn)度信息,并將這些信息作為數(shù)據(jù)更新消息。
步驟712受控用戶C根據(jù)周期性交換的數(shù)據(jù)更新消息向主控用戶A和受控用戶B請(qǐng)求由于網(wǎng)絡(luò)故障等原因下載速度慢于播放速度的后續(xù)網(wǎng)絡(luò)媒體內(nèi)容。
步驟713主控用戶A和受控用戶B響應(yīng)受控用戶C的請(qǐng)求,將已經(jīng)下載的后續(xù)網(wǎng)絡(luò)媒體內(nèi)容對(duì)應(yīng)的數(shù)據(jù)幀發(fā)送給受控用戶C。
三個(gè)以上的用戶持續(xù)播放某一網(wǎng)絡(luò)媒體,從而實(shí)現(xiàn)同步視聽(tīng)的步驟和過(guò)程與上述實(shí)施例六類(lèi)似,在此不再贅述。
以用戶A、用戶B和用戶C同步收聽(tīng)網(wǎng)絡(luò)中的一首MP3歌曲為例,詳細(xì)說(shuō)明第六實(shí)施例的實(shí)現(xiàn)過(guò)程。在該實(shí)現(xiàn)過(guò)程中,假設(shè)用戶C由于網(wǎng)絡(luò)故障或帶寬問(wèn)題導(dǎo)致了下載進(jìn)度慢于當(dāng)前播放進(jìn)度。
用戶A通過(guò)搜索等途徑獲取了歌曲S的網(wǎng)絡(luò)鏈接地址“http://192.168.0.1/music/words.mp3”后,用戶A使用網(wǎng)絡(luò)音樂(lè)播放器根據(jù)該鏈接地址實(shí)時(shí)獲取并播放歌曲S;用戶B獲知用戶A當(dāng)前的聽(tīng)歌狀態(tài)后,向用戶A發(fā)送加入同步收聽(tīng)歌曲S的請(qǐng)求;用戶A接受用戶B的請(qǐng)求后,向用戶B返回歌曲S的網(wǎng)絡(luò)地址“http://192.168.0.1/music/words.mp3”,以及用戶A當(dāng)前收聽(tīng)歌曲S的播放進(jìn)度信息,假設(shè)歌曲S的大小為3M字節(jié),而此時(shí)用戶A收聽(tīng)到1M字節(jié)的數(shù)據(jù)幀處,則1M即為歌曲S的播放進(jìn)度信息;用戶B收到歌曲S的網(wǎng)絡(luò)地址和播放進(jìn)度信息后,向網(wǎng)絡(luò)地址“http://192.168.0.1/music/words.mp3”發(fā)送歌曲S的內(nèi)容請(qǐng)求,該內(nèi)容請(qǐng)求中攜帶歌曲S的當(dāng)前播放進(jìn)度信息“1M”和結(jié)束信息;網(wǎng)絡(luò)媒體提供方的服務(wù)器192.168.0.1根據(jù)收到的內(nèi)容請(qǐng)求,從該服務(wù)器上讀取文件words.mp3從1M字節(jié)起到結(jié)束信息處的數(shù)據(jù)內(nèi)容,并將該數(shù)據(jù)內(nèi)容發(fā)送到用戶B;用戶B接收到數(shù)據(jù)內(nèi)容后,即從歌曲S的1M字節(jié)處開(kāi)始播放,并且在播放期間,用戶B可以自動(dòng)從服務(wù)器上獲取該歌曲S的后續(xù)數(shù)據(jù)幀;用戶A和用戶B周期性地向?qū)Ψ桨l(fā)送歌曲S的播放進(jìn)度信息、播放狀態(tài)信息以及下載進(jìn)度信息作為該歌曲S播放的數(shù)據(jù)更新消息;用戶B由于與服務(wù)器192.168.0.1的網(wǎng)絡(luò)故障原因?qū)е聫脑摲?wù)器上下載歌曲S的進(jìn)度慢于播放歌曲S的進(jìn)度,因此用戶B根據(jù)數(shù)據(jù)更新消息向用戶A請(qǐng)求播放歌曲S所需要的后續(xù)數(shù)據(jù)幀,假設(shè)所請(qǐng)求的數(shù)據(jù)幀對(duì)應(yīng)于歌曲S的1.5M-2.0M字節(jié)的數(shù)據(jù)內(nèi)容;用戶A由于下載進(jìn)度較好,因此接收到用戶B的請(qǐng)求后,將已經(jīng)下載的歌曲S的1.5M-2.0M字節(jié)的數(shù)據(jù)內(nèi)容發(fā)送給用戶B,從而保證了在用戶B網(wǎng)絡(luò)故障時(shí)實(shí)現(xiàn)與用戶A同步收聽(tīng)歌曲S;用戶C獲知用戶A當(dāng)前的聽(tīng)歌狀態(tài)后,向用戶A發(fā)送加入同步收聽(tīng)歌曲S的請(qǐng)求;用戶A接受用戶C的請(qǐng)求后,向用戶C返回歌曲S的網(wǎng)絡(luò)地址“http://192.168.0.1/music/words.mp3”,用戶A當(dāng)前收聽(tīng)歌曲S的播放進(jìn)度信息,假設(shè)此時(shí)用戶A收聽(tīng)到1.5M字節(jié)的數(shù)據(jù)幀處,則1.5M即為歌曲S的播放進(jìn)度信息,同時(shí)還向用戶C返回用戶A與用戶B的網(wǎng)絡(luò)地址和端口信息;用戶A、用戶B和用戶C之間周期性地發(fā)送歌曲S的播放進(jìn)度信息、播放狀態(tài)信息以及下載進(jìn)度信息作為該歌曲S播放的數(shù)據(jù)更新消息;用戶C由于與服務(wù)器192.168.0.1的網(wǎng)絡(luò)故障原因?qū)е聫脑摲?wù)器上下載歌曲S的進(jìn)度慢于播放歌曲S的進(jìn)度,因此用戶C根據(jù)數(shù)據(jù)更新消息向用戶A和用戶B中下載進(jìn)度快于自己的用戶請(qǐng)求播放歌曲S所需要的后續(xù)數(shù)據(jù)幀,假設(shè)所請(qǐng)求的數(shù)據(jù)幀對(duì)應(yīng)于歌曲S的2.0M-2.5M字節(jié)的數(shù)據(jù)內(nèi)容;用戶A由于下載進(jìn)度較好,因此接收到用戶C的請(qǐng)求后,將已經(jīng)下載的歌曲S的2.0M-2.5M字節(jié)的數(shù)據(jù)內(nèi)容發(fā)送給用戶C,從而保證了在用戶C網(wǎng)絡(luò)故障時(shí)實(shí)現(xiàn)與用戶A和用戶B同步收聽(tīng)歌曲S。
本發(fā)明方法第七實(shí)施例的流程圖如圖8所示,該實(shí)施例示出了三個(gè)用戶之間形成了封閉的P2P網(wǎng)絡(luò),它們持續(xù)播放某一網(wǎng)絡(luò)媒體一段時(shí)間后暫停播放該網(wǎng)絡(luò)媒體,從而實(shí)現(xiàn)同步視聽(tīng)的流程步驟801主控用戶A暫停當(dāng)前播放的網(wǎng)絡(luò)媒體資源時(shí),同時(shí)向受控用戶B和受控用戶C發(fā)送該網(wǎng)絡(luò)媒體資源的地址、播放進(jìn)度信息和暫停狀態(tài)信息等信息。
步驟802受控用戶B和受控用戶C收到主控用戶A發(fā)送的信息后,向網(wǎng)絡(luò)媒體提供方中斷請(qǐng)求該網(wǎng)絡(luò)媒體的后續(xù)內(nèi)容,同時(shí)停止用戶之間發(fā)送的網(wǎng)絡(luò)媒體數(shù)據(jù)幀的同步更新消息。
步驟803受控用戶B和受控用戶C暫停該網(wǎng)絡(luò)媒體內(nèi)容的播放,同時(shí)等待主控用戶A發(fā)送后續(xù)的播放狀態(tài)信息。
具體的,主控用戶A在暫停播放該網(wǎng)絡(luò)媒體內(nèi)容一段時(shí)間后,可以向用戶B和用戶C發(fā)送的播放狀態(tài)信息包括繼續(xù)播放的狀態(tài)信息、或停止播放的狀態(tài)信息、或向前拖動(dòng)播放的狀態(tài)信息、或向后拖動(dòng)播放的狀態(tài)信息等。
在該實(shí)施例七中,也可以由受控用戶B或受控用戶C中的任意一個(gè)首先暫停當(dāng)前網(wǎng)絡(luò)媒體的播放,并發(fā)送相關(guān)的控制信息到其它用戶。
特別的,若受控用戶B或受控用戶C首先停止當(dāng)前網(wǎng)絡(luò)媒體的播放,則表示其主動(dòng)退出當(dāng)前同步視聽(tīng)狀態(tài),則該受控用戶向主控用戶A發(fā)送停止同步的狀態(tài)信息,主控用戶A不再向該受控用戶發(fā)送后續(xù)播放狀態(tài)信息。
三個(gè)以上的用戶暫停某一網(wǎng)絡(luò)媒體的播放,從而實(shí)現(xiàn)同步視聽(tīng)的步驟和過(guò)程與上述實(shí)施例七類(lèi)似,在此不再贅述。
仍然以用戶A、用戶B和用戶C同步收聽(tīng)網(wǎng)絡(luò)中的一首MP3歌曲為例,詳細(xì)說(shuō)明第七實(shí)施例的實(shí)現(xiàn)過(guò)程。
用戶A、用戶B和用戶C在持續(xù)同步收聽(tīng)了歌曲S一段時(shí)間后,用戶A暫停播放歌曲S,同時(shí)向用戶B和用戶C發(fā)送如下控制信息歌曲S的網(wǎng)絡(luò)地址“http://192.168.0.1/music/words.mp3”,歌曲S當(dāng)前的播放進(jìn)度信息(假設(shè)用戶A當(dāng)前收聽(tīng)到歌曲S的2M字節(jié)內(nèi)容處,則將信息“2M”作為播放進(jìn)度信息),以及歌曲S當(dāng)前的播放狀態(tài)信息(用戶A當(dāng)前暫停播放該歌曲S,因此該播放狀態(tài)信息為暫停播放);用戶B和用戶C收到用戶A發(fā)送的控制信息后,從該歌曲S的播放進(jìn)度信息中獲知,用戶A在歌曲S的2M內(nèi)容處暫停了播放,因此用戶B和用戶C不再向網(wǎng)絡(luò)媒體提供方的服務(wù)器192.168.0.1請(qǐng)求該歌曲S的后續(xù)內(nèi)容,并且同時(shí)停止相互之間交換該歌曲S的2M字節(jié)內(nèi)容后的數(shù)據(jù)幀的更新消息;用戶A、用戶B和用戶C同時(shí)暫停播放歌曲S,同時(shí)用戶B和用戶C等待用戶A發(fā)送歌曲S的后續(xù)播放狀態(tài)信息,包括繼續(xù)播放歌曲S、或停止播放歌曲S、或向前拖動(dòng)播放歌曲S、或向后拖動(dòng)播放歌曲S。
本發(fā)明實(shí)現(xiàn)網(wǎng)絡(luò)媒體同步視聽(tīng)的系統(tǒng)的實(shí)施例框圖如圖9所示該系統(tǒng)包括網(wǎng)絡(luò)媒體服務(wù)器910,用于存放同步視聽(tīng)的網(wǎng)絡(luò)媒體;主控用戶端920,用于向加入同步視聽(tīng)的受控用戶發(fā)送當(dāng)前播放的網(wǎng)絡(luò)媒體地址及播放信息,該播放信息包括播放進(jìn)度信息和播放狀態(tài)信息;受控用戶端930,用于根據(jù)網(wǎng)絡(luò)媒體地址和播放進(jìn)度信息,執(zhí)行播放狀態(tài)信息指示的操作,實(shí)現(xiàn)與主控用戶同步視聽(tīng)所述網(wǎng)絡(luò)媒體。
本發(fā)明用戶端的第一實(shí)施例框圖如圖10所示該用戶端包括發(fā)送控制信息單元S10,用于向加入同步視聽(tīng)的其它用戶端發(fā)送當(dāng)前播放的網(wǎng)絡(luò)媒體地址及播放信息,該播放信息包括播放進(jìn)度信息和播放狀態(tài)信息;發(fā)送更新消息單元S20,用于向加入同步視聽(tīng)的其它用戶端周期性發(fā)送數(shù)據(jù)更新消息,該數(shù)據(jù)更新消息包含網(wǎng)絡(luò)媒體地址、播放進(jìn)度信息、播放狀態(tài)信息以及下載進(jìn)度信息;發(fā)送網(wǎng)絡(luò)媒體單元S30,用于當(dāng)該用戶端的下載進(jìn)度大于其它用戶端時(shí),向其它用戶端發(fā)送已下載的網(wǎng)絡(luò)媒體;請(qǐng)求網(wǎng)絡(luò)媒體單元S40,用于當(dāng)用戶端的下載進(jìn)度小于其它用戶端時(shí),向其它用戶端請(qǐng)求該網(wǎng)絡(luò)媒體。
本發(fā)明用戶端的第二實(shí)施例框圖如圖11所示該用戶端包括接收控制信息單元S50,用于接收其它用戶端發(fā)送的當(dāng)前播放的網(wǎng)絡(luò)媒體地址及播放信息,所述播放信息包括播放進(jìn)度信息和播放狀態(tài)信息;執(zhí)行控制信息單元S60,用于根據(jù)網(wǎng)絡(luò)媒體地址和播放進(jìn)度信息,執(zhí)行播放狀態(tài)信息指示的操作,實(shí)現(xiàn)與其它用戶端同步視聽(tīng)所述網(wǎng)絡(luò)媒體;發(fā)送更新消息單元S70,用于向其它用戶端周期性發(fā)送數(shù)據(jù)更新消息,所述數(shù)據(jù)更新消息包含網(wǎng)絡(luò)媒體地址、播放進(jìn)度信息、播放狀態(tài)信息以及下載進(jìn)度信息;發(fā)送網(wǎng)絡(luò)媒體單元S80,用于該用戶端的下載進(jìn)度大于其它用戶端時(shí),向其它用戶端發(fā)送已下載的網(wǎng)絡(luò)媒體;請(qǐng)求網(wǎng)絡(luò)媒體單元S90,用于該用戶端的下載進(jìn)度小于其它用戶端時(shí),向其它用戶端請(qǐng)求所述網(wǎng)絡(luò)媒體。
其中,執(zhí)行控制信息單元S60包括發(fā)送請(qǐng)求單元S61,用于向網(wǎng)絡(luò)媒體地址對(duì)應(yīng)的服務(wù)器發(fā)送獲取該網(wǎng)絡(luò)媒體的請(qǐng)求,該請(qǐng)求中包含該網(wǎng)絡(luò)媒體當(dāng)前播放進(jìn)度信息;接收網(wǎng)絡(luò)媒體單元S62,用于接收服務(wù)器發(fā)送的網(wǎng)絡(luò)媒體。
由以上本發(fā)明提供的實(shí)施例可知,應(yīng)用本發(fā)明實(shí)現(xiàn)網(wǎng)絡(luò)媒體同步視聽(tīng)的方法,主控用戶通過(guò)將網(wǎng)絡(luò)媒體地址和播放信息發(fā)送給受控用戶,受控用戶根據(jù)網(wǎng)絡(luò)媒體地址和播放進(jìn)度信息,執(zhí)行播放狀態(tài)信息指示的持續(xù)播放、暫停播放等操作,使得用戶間可以靈活地同步視聽(tīng)網(wǎng)絡(luò)媒體,達(dá)到良好的協(xié)同娛樂(lè)效果,并且本發(fā)明實(shí)現(xiàn)同步視聽(tīng)的用戶之間通過(guò)擴(kuò)展的P2P功能,提高了同步視聽(tīng)的流暢度,相應(yīng)增強(qiáng)了系統(tǒng)的性能。
雖然通過(guò)實(shí)施例描繪了本發(fā)明,本領(lǐng)域普通技術(shù)人員知道,本發(fā)明有許多變形和變化而不脫離本發(fā)明的精神,希望所附的權(quán)利要求包括這些變形和變化而不脫離本發(fā)明的精神。
權(quán)利要求
1.一種實(shí)現(xiàn)網(wǎng)絡(luò)媒體同步視聽(tīng)的方法,其特征在于,包括主控用戶向加入同步視聽(tīng)的受控用戶發(fā)送當(dāng)前播放的網(wǎng)絡(luò)媒體地址及播放信息,所述播放信息包括播放進(jìn)度信息和播放狀態(tài)信息;受控用戶根據(jù)所述網(wǎng)絡(luò)媒體地址和播放進(jìn)度信息,執(zhí)行所述播放狀態(tài)信息指示的操作,實(shí)現(xiàn)與主控用戶同步視聽(tīng)所述網(wǎng)絡(luò)媒體。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述播放狀態(tài)信息包括持續(xù)播放、暫停播放、向前拖動(dòng)播放、或向后拖動(dòng)播放。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述播放狀態(tài)信息為持續(xù)播放,所述受控用戶根據(jù)所述網(wǎng)絡(luò)媒體地址和播放進(jìn)度信息,執(zhí)行所述播放狀態(tài)信息指示的操作包括受控用戶向所述網(wǎng)絡(luò)媒體地址對(duì)應(yīng)的服務(wù)器發(fā)送獲取所述網(wǎng)絡(luò)媒體的請(qǐng)求,所述請(qǐng)求中包含該網(wǎng)絡(luò)媒體當(dāng)前播放進(jìn)度信息;所述服務(wù)器讀取該網(wǎng)絡(luò)媒體當(dāng)前播放進(jìn)度至結(jié)束時(shí)的內(nèi)容,并將該內(nèi)容發(fā)送至受控用戶;所述受控用戶根據(jù)接收到的內(nèi)容持續(xù)播放所述網(wǎng)絡(luò)媒體。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述主控用戶和受控用戶之間擴(kuò)展了P2P功能,所述方法進(jìn)一步包括主控用戶和受控用戶之間周期性發(fā)送數(shù)據(jù)更新消息,所述數(shù)據(jù)更新消息包含網(wǎng)絡(luò)媒體地址、播放進(jìn)度信息、播放狀態(tài)信息以及下載進(jìn)度信息;所述主控用戶和受控用戶中下載進(jìn)度慢的用戶根據(jù)所述數(shù)據(jù)更新消息,向下載進(jìn)度快的用戶請(qǐng)求所述網(wǎng)絡(luò)媒體的后續(xù)內(nèi)容;所述下載進(jìn)度快的用戶將已下載的所述網(wǎng)絡(luò)媒體的后續(xù)內(nèi)容發(fā)送至所述下載進(jìn)度慢的用戶。
5.根據(jù)權(quán)利要求3或4所述的方法,其特征在于,所述播放狀態(tài)信息為暫停播放,受控用戶根據(jù)所述網(wǎng)絡(luò)媒體地址和播放進(jìn)度信息,執(zhí)行所述播放狀態(tài)信息指示的操作包括受控用戶停止向所述網(wǎng)絡(luò)媒體地址對(duì)應(yīng)的服務(wù)器發(fā)送獲取所述網(wǎng)絡(luò)媒體的請(qǐng)求;所述網(wǎng)絡(luò)媒體地址對(duì)應(yīng)的服務(wù)器停止向所述受控用戶發(fā)送網(wǎng)絡(luò)媒體內(nèi)容;所述受控用戶從所述播放進(jìn)度信息處暫停播放所述網(wǎng)絡(luò)媒體。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述方法進(jìn)一步包括主控用戶和受控用戶之間停止周期性發(fā)送所述數(shù)據(jù)更新消息,且所述下載進(jìn)度快的用戶停止將已下載的所述網(wǎng)絡(luò)媒體的后續(xù)內(nèi)容發(fā)送至所述下載進(jìn)度慢的用戶。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法進(jìn)一步包括主控用戶和受控用戶中的任意一方終止同步視聽(tīng)所述網(wǎng)絡(luò)媒體。
8.一種實(shí)現(xiàn)網(wǎng)絡(luò)媒體同步視聽(tīng)的系統(tǒng),其特征在于,包括網(wǎng)絡(luò)媒體服務(wù)器,用于存放同步視聽(tīng)的網(wǎng)絡(luò)媒體;主控用戶端,用于向加入同步視聽(tīng)的受控用戶端發(fā)送當(dāng)前播放的網(wǎng)絡(luò)媒體地址及播放信息,所述播放信息包括播放進(jìn)度信息和播放狀態(tài)信息;受控用戶端,用于根據(jù)所述網(wǎng)絡(luò)媒體地址和播放進(jìn)度信息,執(zhí)行所述播放狀態(tài)信息指示的操作,實(shí)現(xiàn)與主控用戶端同步視聽(tīng)所述網(wǎng)絡(luò)媒體。
9.一種用戶端,其特征在于,包括發(fā)送控制信息單元,用于向加入同步視聽(tīng)的其它用戶端發(fā)送當(dāng)前播放的網(wǎng)絡(luò)媒體地址及播放信息,所述播放信息包括播放進(jìn)度信息和播放狀態(tài)信息。
10.根據(jù)權(quán)利要求9所述的用戶端,其特征在于,用戶端擴(kuò)展了P2P功能,所述用戶端進(jìn)一步包括發(fā)送更新消息單元,用于向加入同步視聽(tīng)的其它用戶端周期性發(fā)送數(shù)據(jù)更新消息,所述數(shù)據(jù)更新消息包含網(wǎng)絡(luò)媒體地址、播放進(jìn)度信息、播放狀態(tài)信息以及下載進(jìn)度信息;發(fā)送網(wǎng)絡(luò)媒體單元,用于所述用戶端的下載進(jìn)度大于其它用戶端時(shí),向其它用戶端發(fā)送已下載的網(wǎng)絡(luò)媒體;請(qǐng)求網(wǎng)絡(luò)媒體單元,用于所述用戶端的下載進(jìn)度小于其它用戶端時(shí),向其它用戶端請(qǐng)求所述網(wǎng)絡(luò)媒體。
11.一種用戶端,其特征在于,包括接收控制信息單元,用于接收其它用戶端發(fā)送的當(dāng)前播放的網(wǎng)絡(luò)媒體地址及播放信息,所述播放信息包括播放進(jìn)度信息和播放狀態(tài)信息;執(zhí)行控制信息單元,用于根據(jù)網(wǎng)絡(luò)媒體地址和播放進(jìn)度信息,執(zhí)行播放狀態(tài)信息指示的操作,實(shí)現(xiàn)與其它用戶端同步視聽(tīng)所述網(wǎng)絡(luò)媒體。
12.根據(jù)權(quán)利要求11所述的用戶端,其特征在于,所述執(zhí)行控制信息單元包括發(fā)送請(qǐng)求單元,用于向所述網(wǎng)絡(luò)媒體地址對(duì)應(yīng)的服務(wù)器發(fā)送獲取所述網(wǎng)絡(luò)媒體的請(qǐng)求,所述請(qǐng)求中包含該網(wǎng)絡(luò)媒體當(dāng)前播放進(jìn)度信息;接收網(wǎng)絡(luò)媒體單元,用于接收所述服務(wù)器發(fā)送的網(wǎng)絡(luò)媒體。
13.根據(jù)權(quán)利要求12所述的用戶端,其特征在于,用戶端擴(kuò)展了P2P功能,所述用戶端進(jìn)一步包括發(fā)送更新消息單元,用于向其它用戶端周期性發(fā)送數(shù)據(jù)更新消息,所述數(shù)據(jù)更新消息包含網(wǎng)絡(luò)媒體地址、播放進(jìn)度信息、播放狀態(tài)信息以及下載進(jìn)度信息;發(fā)送網(wǎng)絡(luò)媒體單元,用于所述用戶端的下載進(jìn)度大于其它用戶端時(shí),向其它用戶端發(fā)送已下載的網(wǎng)絡(luò)媒體;請(qǐng)求網(wǎng)絡(luò)媒體單元,用于所述用戶端的下載進(jìn)度小于其它用戶端時(shí),向其它用戶端請(qǐng)求所述網(wǎng)絡(luò)媒體。
全文摘要
本發(fā)明公開(kāi)了一種實(shí)現(xiàn)網(wǎng)絡(luò)媒體同步視聽(tīng)的方法,包括主控用戶向加入同步視聽(tīng)的受控用戶發(fā)送當(dāng)前播放的網(wǎng)絡(luò)媒體地址及播放信息,所述播放信息包括播放進(jìn)度信息和播放狀態(tài)信息;受控用戶根據(jù)所述網(wǎng)絡(luò)媒體地址和播放進(jìn)度信息,執(zhí)行所述播放狀態(tài)信息指示的操作,實(shí)現(xiàn)與主控用戶同步視聽(tīng)所述網(wǎng)絡(luò)媒體。本發(fā)明還公開(kāi)了一種實(shí)現(xiàn)網(wǎng)絡(luò)媒體同步視聽(tīng)的系統(tǒng)和用戶端。應(yīng)用本發(fā)明實(shí)現(xiàn)網(wǎng)絡(luò)媒體同步視聽(tīng)的方法,主控用戶無(wú)需將當(dāng)前播放的網(wǎng)絡(luò)媒體內(nèi)容輸出采樣后,再發(fā)送到受控用戶,而是通過(guò)將網(wǎng)絡(luò)媒體地址和播放信息發(fā)送給受控用戶,使受控用戶執(zhí)行播放狀態(tài)信息指示的操作,從而使得用戶間可以靈活地同步視聽(tīng)網(wǎng)絡(luò)媒體,達(dá)到良好的協(xié)同娛樂(lè)效果。
文檔編號(hào)H04N7/52GK101072359SQ20071010796
公開(kāi)日2007年11月14日 申請(qǐng)日期2007年5月18日 優(yōu)先權(quán)日2007年5月18日
發(fā)明者胡鵬, 王新亮, 周軍 申請(qǐng)人:騰訊科技(深圳)有限公司