一種避免多個dmc推送媒體播放產(chǎn)生沖突的方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種避免多個DMC推送媒體播放產(chǎn)生沖突的方法,應(yīng)用于DLNA家庭娛樂網(wǎng)絡(luò)中,該方法首先通過將UPnP通用即插即用協(xié)議定義的服務(wù)及動作作分類處理,劃分為控制動作和非控制動作,然后DMC在對DMR執(zhí)行控制動作前,需先發(fā)送請求向DMR申請控制權(quán),DMR記錄申請控制權(quán)的DMC的IP地址,且僅執(zhí)行該IP地址發(fā)送的控制動作,同一時間DMR最多記錄一臺擁有控制權(quán)的DMC設(shè)備,DMR過濾沒有控制權(quán)的DMC的控制動作,但可以接收其他狀態(tài)請求動作。該發(fā)明方法實現(xiàn)了多個DMC控制DMR的同時又有效避免了控制沖突,優(yōu)化了多個控制設(shè)備之間的關(guān)系,改變了控制混亂的狀況,極大地提升了使用體驗。
【專利說明】一種避免多個DMC推送媒體播放產(chǎn)生沖突的方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)多媒體互聯(lián)的【技術(shù)領(lǐng)域】,特別涉及一種避免多個DMC推送媒體播放產(chǎn)生沖突的方法及裝置。
【背景技術(shù)】
[0002]數(shù)字生活網(wǎng)絡(luò)聯(lián)盟DLNA全稱是DIGITAL LIVING NETWORK ALLIANCE,旨在通過整合現(xiàn)有的技術(shù)和網(wǎng)絡(luò)協(xié)議,使同一個網(wǎng)域內(nèi)的設(shè)備,能夠?qū)崿F(xiàn)自由的跨設(shè)備多媒體播放。近年來,DLNA技術(shù)得到了廣泛的發(fā)展,越來越多的媒體設(shè)備,影音終端或播放平臺都支持DLNA0該技術(shù)允許設(shè)備在網(wǎng)絡(luò)連接狀態(tài)下,能夠發(fā)現(xiàn)擁有其他功能的設(shè)備,并查看和分享服務(wù)器中的媒體資源至某個播放器中進行播放。DLNA設(shè)備的類型主要有DMP (數(shù)字媒體播放器),DMR(數(shù)字媒體渲染器),DMS(數(shù)字媒體服務(wù)器)和DMC(數(shù)字媒體控制器)。其中,DMS用于存儲和管理媒體資源,使得其他設(shè)備可以通過網(wǎng)絡(luò)方便地獲取到媒體內(nèi)容;DMC設(shè)備中包含DLNA Control Point (控制點),用于瀏覽DMS的媒體信息,從DMS上獲取到媒體的元數(shù)據(jù)信息,并通過交互控制推送媒體至DMR播放已經(jīng)選擇的媒體內(nèi)容;DMR為不具備DMC功能的媒體播放器,DMP為具有DMC功能的媒體播放器。
[0003]在DLNA架構(gòu)中,并未規(guī)定一個網(wǎng)段內(nèi)允許設(shè)備的數(shù)量,也就是說,DLNA支持多個DMC同時存在,并且同時訪問多個設(shè)備。這個特點增強了 DLNA的可用性:作為DMS,能夠被多個DMC發(fā)現(xiàn),并且能夠為多個DMR提供資源;作為DMR,同樣能被多個DMC發(fā)現(xiàn),并能夠接收這些DMC推送的媒體;作為DMC,能夠發(fā)現(xiàn)網(wǎng)段內(nèi)所有的設(shè)備,可以訪問他們,或者推送媒體資源。但是,當多個DMC同時連接到一個DMR時,由于各個廠商的DMC實現(xiàn)方法不同,有可能在推送過程中產(chǎn)生沖突。例如DMCl與DMC2共同連接到DMR1,DMCl推送一個媒體至DMRl播放,此時通過DMC2發(fā)送STOP動作至DMR1,由于DMCl不清楚網(wǎng)段中存在DMC2在控制DMR1,因此DMCl在判斷到DMRl播放停止后,可能會繼續(xù)推送下一個媒體播放,導(dǎo)致DMRl無法停止的問題出現(xiàn)。此時,DMCl與DMC2在控制上便產(chǎn)生了沖突。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的第一個目的在于克服現(xiàn)有技術(shù)的缺點與不足,提供一種避免多個DMC推送媒體播放產(chǎn)生沖突的方法。本發(fā)明通過擴展UPnP協(xié)議,提供了一種避免產(chǎn)生控制沖突的方法,該方法允許多個DMC來控制DMR,但同時規(guī)定同一時段內(nèi),DMC需要通過申請控制權(quán)來取得對DMR的播放控制,其他沒有控制權(quán)的DMC只能獲取到DMR狀態(tài)或參數(shù)的變化,而不能對其進行播放控制。本方法發(fā)明有效的避免了控制沖突,優(yōu)化了多個控制設(shè)備之間的關(guān)系,改變了控制混亂的狀況,極大地提升了使用體驗。
[0005]本發(fā)明的另一個目的在于克服現(xiàn)有技術(shù)的缺點與不足,提供一種避免多個DMC推送媒體播放產(chǎn)生沖突的裝置。
[0006]本發(fā)明的第一個目的通過下述技術(shù)方案實現(xiàn):
[0007]一種避免多個DMC推送媒體播放產(chǎn)生沖突的方法,應(yīng)用于DLNA家庭娛樂網(wǎng)絡(luò)中以解決多個DMC同時控制DMR存在控制沖突的問題,包括下列步驟:
[0008]S1、根據(jù)UPnP通用即插即用協(xié)議定義的服務(wù)及動作,對原協(xié)議內(nèi)容作分類處理,劃分為‘控制動作’和‘非控制動作’,其中控制動作指DMC調(diào)用DMR前需要申請控制權(quán)的動作,非控制動作指DMC調(diào)用DMR前不需要申請控制權(quán)的動作,動作表示客戶端發(fā)出的完成特定功能的命令;
[0009]S2、DMC加入DLNA網(wǎng)絡(luò),并選擇一個DMR作為渲染器;
[0010]S3、DMC向DMR發(fā)出任意的動作指令,并判斷是否屬于控制動作,如果判斷屬于控制動作,則進入下一步驟S4;
[0011]S4、DMC向DMR發(fā)送請求控制權(quán)動作X_ControlApplicat1n,該動作定義在AVTransport服務(wù)之下,用來向DMR申請控制權(quán);
[0012]S5、DMR接收到請求權(quán)申請后根據(jù)DMC控制權(quán)記錄管理協(xié)議回復(fù)DMC控制權(quán)請求;
[0013]S6、DMC收到DMR控制權(quán)申請成功的回復(fù)后,繼續(xù)發(fā)送控制動作至DMR,完成特定功能的命令。
[0014]優(yōu)選的,所述步驟I中控制動作包括
[0015]urn: schemas-upnp-org: service:RenderingControl:1 服務(wù)中的所有動作和
[0016]urn: schemas-upnp-org: service:AVTransport:1 服務(wù)中所有 ‘set’ 動作,以及‘Stop,、‘Play,,‘Pause,,‘Record,,‘Seek,,‘Next,,‘Prev1us,動作。
[0017]優(yōu)選的,所述步驟I中非控制動作包括
[0018]urn: schemas-upnp-org: service:Connect1nManager:1 服務(wù)中的所有動作和
[0019]urn: schemas-upnp-org: service:AVTransport:1 服務(wù)中所有 ‘get,動作。
[0020]優(yōu)選的,所述步驟S5中DMC控制權(quán)記錄管理協(xié)議具體為:
[0021]G51、DMR終端建立專有變量,用來記錄當前取得控制權(quán)的DMC的IP地址;
[0022]G52、DMR終端接收到請求控制權(quán)動作X_ControlApplicat1n后,將動作源DMC的IP地址與專有變量做比較,如果不相同并且申請DMR控制權(quán)成功,則更新專有變量的值;
[0023]G53、DMR終端接收到控制動作,將動作源DMC的IP地址與專有變量做比較,如果相同,則執(zhí)行該控制動作,否則忽略此控制動作;
[0024]G54、DMR終端接收到非控制動作,直接執(zhí)行該非控制動作。
[0025]優(yōu)選的,所述步驟S2具體為:
[0026]S21、DMC加入DLNA網(wǎng)絡(luò)后首先尋址獲取IP地址;
[0027]S22、DMC向DLNA網(wǎng)絡(luò)上的控制節(jié)點告知設(shè)備的類型、標志符UUID、提供的服務(wù)以及設(shè)備描述和服務(wù)描述的URL地址;
[0028]S23、DLNA網(wǎng)絡(luò)控制點得到設(shè)備描述和服務(wù)描述的URL,通過URL取回設(shè)備描述和服務(wù)描述的信息;
[0029]S24、DMC向DMR設(shè)備服務(wù)發(fā)出動作請求。
[0030]優(yōu)選的,所述步驟S3中DMC向DMR發(fā)出的動作指令如果判斷屬于非控制動作,則可直接向DMR發(fā)送該動作指令而無需申請DMR控制權(quán)。
[0031]優(yōu)選的,所述步驟S4中DMC向DMR發(fā)起申請控制權(quán)是存在Π用戶交互的情形時,即用戶主動通過DMC向DMR發(fā)出動作指令時需要申請控制權(quán),而DMC自動向DMR發(fā)出動作指令時不需要申請控制權(quán)。
[0032]本發(fā)明的另一個目的通過以下技術(shù)方案實現(xiàn):
[0033]一種避免多個DMC推送媒體播放產(chǎn)生沖突的裝置,應(yīng)用于DLNA家庭娛樂網(wǎng)絡(luò)中以解決多個DMC同時控制DMR存在控制沖突的問題,包括下列單元:
[0034]UPnP協(xié)議內(nèi)容分類處理單元,該單元根據(jù)UPnP通用即插即用協(xié)議定義的服務(wù)及動作,對原協(xié)議內(nèi)容作分類處理,劃分為‘控制動作’和‘非控制動作’,其中控制動作指DMC調(diào)用DMR前需要申請控制權(quán)的動作,非控制動作指DMC調(diào)用DMR前不需要申請控制權(quán)的動作,動作表示客戶端發(fā)出的完成特定功能的命令;
[0035]DMC初始化單元,該單元用于DMC加入DLNA網(wǎng)絡(luò)的初始化,并選擇一個DMR作為渲染器;
[0036]DMC動作指令判斷單元,該單元用于DMC向DMR發(fā)出任意的動作指令,并判斷是否屬于控制動作,如果判斷屬于控制動作,則轉(zhuǎn)至DMR控制權(quán)請求單元;
[0037]DMR控制權(quán)請求單元,該單元用于DMC向DMR發(fā)送請求控制權(quán)動作X_ControlApplicat1n,該動作定義在AVTransport服務(wù)之下,用來向DMR申請控制權(quán);
[0038]控制權(quán)記錄管理協(xié)議單元,該單元用于DMR接收到請求權(quán)申請后根據(jù)控制權(quán)記錄管理協(xié)議回復(fù)DMC控制權(quán)請求;
[0039]DMC控制動作發(fā)送單元,該單元用于DMC收到DMR控制權(quán)申請成功的回復(fù)后,繼續(xù)發(fā)送控制動作至DMR,完成特定功能的命令。
[0040]優(yōu)選的,所述UPnP協(xié)議內(nèi)容分類處理單元中控制動作包括
[0041]urn: schemas-upnp-org: service:RenderingControl:1 服務(wù)中的所有動作和
[0042]urn: schemas-upnp-org: service:AVTransport:1 服務(wù)中所有 ‘set’ 動作,以及‘Stop,、‘Play,,‘Pause,,‘Record,,‘Seek,,‘Next,,‘Prev1us,動作。
[0043]優(yōu)選的,所述UPnP協(xié)議內(nèi)容分類處理單元中非控制動作包括
[0044]urn: schemas-upnp-org: service:Connect1nManager:1 服務(wù)中的所有動作和
[0045]urn: schemas-upnp-org: service:AVTransport:1 服務(wù)中所有 ‘get,動作。
[0046]優(yōu)選的,所述控制權(quán)記錄管理協(xié)議單元中包括下列模塊:
[0047]專有變量建立模塊,該模塊用于DMR終端建立專有變量,用來記錄當前取得控制權(quán)的DMC的IP地址;
[0048]專有變量更新模塊,該模塊用于在DMR終端接收到請求控制權(quán)動作X_ControlApplicat1n后,將動作源DMC的IP地址與專有變量做比較,如果不相同并且申請DMR控制權(quán)成功,則更新專有變量的值;
[0049]動作源IP地址校驗?zāi)K,該模塊用于在DMR終端接收到控制動作后,將動作源DMC的IP地址與專有變量做比較,如果相同,則執(zhí)行該控制動作,否則忽略此控制動作;
[0050]非控制動作執(zhí)行模塊,該模塊用于DMR終端在接收到非控制動作,直接執(zhí)行該非控制動作。
[0051]優(yōu)選的,所述DMC初始化單元包括下列模塊:
[0052]尋址模塊,該模塊用于DMC加入DLNA網(wǎng)絡(luò)后首先尋址獲取IP地址;
[0053]發(fā)現(xiàn)模塊,該模塊用于DMC向DLNA網(wǎng)絡(luò)上的控制節(jié)點告知設(shè)備的類型、標志符UUID、提供的服務(wù)以及設(shè)備描述和服務(wù)描述的URL地址;
[0054]描述模塊,該模塊用于DLNA網(wǎng)絡(luò)控制點得到設(shè)備描述和服務(wù)描述的URL,通過URL取回設(shè)備描述和服務(wù)描述的信息;
[0055]控制模塊,該模塊用于DMC向DMR設(shè)備服務(wù)發(fā)出動作請求。
[0056]優(yōu)選的,所述DMC動作指令判斷單元中DMC向DMR發(fā)出的動作指令如果判斷屬于非控制動作,則可直接向DMR發(fā)送該動作指令而無需申請DMR控制權(quán)。
[0057]優(yōu)選的,所述DMR控制權(quán)請求單元中DMC向DMR發(fā)起申請控制權(quán)是存在Π用戶交互的情形時,即用戶主動通過DMC向DMR發(fā)出動作指令時需要申請控制權(quán),而DMC自動向DMR發(fā)出動作指令時不需要申請控制權(quán)。
[0058]本發(fā)明相對于現(xiàn)有技術(shù)具有如下的優(yōu)點及效果:
[0059]1、本發(fā)明通過規(guī)定DMC需要通過申請控制權(quán)來取得對DMR的播放控制,其他沒有控制權(quán)的DMC只能獲取到DMR狀態(tài)或參數(shù)的變化,不能對其進行播放控制,有效的避免了控制沖突,優(yōu)化了多個控制設(shè)備之間的關(guān)系,改變了控制混亂的狀況,極大地提升了使用體驗。
[0060]2、本方法發(fā)明完全基于DLNA和UPnP協(xié)議,具有很好的兼容性。
[0061]3、本方法發(fā)明同時擴展了 UPnP協(xié)議,具備簡單易實現(xiàn)的特點。
【專利附圖】
【附圖說明】
[0062]圖1是本實施例一中一種避免多個DMC推送媒體播放產(chǎn)生沖突的方法流程圖;
[0063]圖2是本實施例一中DMC加入DLNA網(wǎng)絡(luò)后工作流程圖;
[0064]圖3是本實施例二中一種避免多個DMC推送媒體播放產(chǎn)生沖突的裝置結(jié)構(gòu)圖。
【具體實施方式】
[0065]為使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚、明確,以下參照附圖并舉實施例對本發(fā)明進一步詳細說明。應(yīng)當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0066]實施例一
[0067]請參見圖1,圖1是本發(fā)明中避免多個DMC推送媒體播放產(chǎn)生沖突的方法流程圖。圖1所示的避免多個DMC推送媒體播放產(chǎn)生沖突的方法,應(yīng)用于DLNA家庭娛樂網(wǎng)絡(luò)中以解決多個DMC同時控制DMR存在控制沖突的問題,具體包括下列步驟:
[0068]?步驟S1、根據(jù)UPnP通用即插即用協(xié)議定義的服務(wù)及動作,對原協(xié)議內(nèi)容作分類處理,劃分為‘控制動作’和‘非控制動作’,其中控制動作指DMC調(diào)用DMR前需要申請控制權(quán)的動作,非控制動作指DMC調(diào)用DMR前不需要申請控制權(quán)的動作,動作表示客戶端發(fā)出的完成特定功能的命令。
[0069]首先需要定義“控制動作”和“非控制動作”的范疇,DMC在向DMR發(fā)送“控制動作”前,需要先向DMR申請控制權(quán),而發(fā)送“非控制動作”前則無需申請或擁有控制權(quán),直接執(zhí)行該動作即可。
[0070]“控制動作”包括:
[0071]1> urn: schemas-upnp-org: service:RenderingControl:1 服務(wù)中的所有動作;
[0072]2>urn: schemas-upnp-org: service:AVTransport:1 服務(wù)中所有“set,,動作,以及“Stop”,“Play”,“Pause”,“Record”,“Seek”,“Next”, “Prev1us” 動作。
[0073]“非控制動作”包括:
[0074]1> urn: schemas-upnp-org: service:Connect1nManager:1 服務(wù)中的所有動作;
[0075]2、urn: schemas-upnp-org: service:AVTransport:1 服務(wù)中所有 “get,,動作。
[0076]上述內(nèi)容為UPnP協(xié)議定義的服務(wù)及動作,本發(fā)明為了明確何時需要申請控制權(quán),對原協(xié)議內(nèi)容作了分類處理,劃分為“控制動作”(即調(diào)用前需要申請控制權(quán))和“非控制動作”(調(diào)用前無需申請控制權(quán)),分類方法屬于對UPnP協(xié)議的擴展,同時也是本發(fā)明需要保護的技術(shù)點。
[0077]其中,UPnP是通用即插即用(Universal Plug and Play)的縮寫,主要用于設(shè)備的智能互聯(lián)互通,使用UPnP協(xié)議不需要設(shè)備驅(qū)動程序,它可以運行在目前幾乎所有的操作系統(tǒng)平臺上,使得在辦公室、家庭和其他公共場所方便地構(gòu)建設(shè)備互聯(lián)互通成為可能。UPnP最大貢獻任何設(shè)備一旦連接上網(wǎng)絡(luò),所有在網(wǎng)絡(luò)上的設(shè)備馬上就能知道有新設(shè)備加入,這些設(shè)備彼此之間能互相通信,更能直接使用或者控制它,一切都不需要人工設(shè)置,完全的即插即用。
[0078]?步驟S2、DMC加入DLNA網(wǎng)絡(luò),并選擇一個DMR作為渲染器;
[0079]在本實施例中DMC加入DLNA網(wǎng)絡(luò)后還要完成以下流程,如圖中DMC加入DLNA網(wǎng)絡(luò)后工作流程圖所示,具體如下:
[0080]步驟S21、DMC加入DLNA網(wǎng)絡(luò)后首先尋址獲取IP地址;
[0081]通常,一臺UPnP設(shè)備尋址的一般過程是:首先向DHCP服務(wù)器發(fā)送DHCPDiscover的消息,如果在指定的時間內(nèi),設(shè)備沒有收到DHCP Offer回應(yīng)消息,設(shè)備必須使用AUTO-1P完成IP地址的獲取。當然也可以使用靜態(tài)配置的IP地址。
[0082]步驟S22、DMC向DLNA網(wǎng)絡(luò)上的控制節(jié)點告知設(shè)備的類型、標志符UUID、提供的服務(wù)以及設(shè)備描述和服務(wù)描述的URL地址;
[0083]連接到網(wǎng)絡(luò)上的DMC設(shè)備確定了 IP地址之后,就會進入發(fā)現(xiàn)操作階段。設(shè)備發(fā)現(xiàn)是UPnP實現(xiàn)的第一步。設(shè)備發(fā)現(xiàn)是由簡單發(fā)現(xiàn)協(xié)議SSDP來完成的。當一臺設(shè)備加入到網(wǎng)絡(luò)中,發(fā)現(xiàn)過程允許設(shè)備向網(wǎng)絡(luò)上的控制節(jié)點告知它提供的服務(wù),當一個控制點加入到網(wǎng)絡(luò)中,設(shè)備發(fā)現(xiàn)過程允許控制點尋找網(wǎng)絡(luò)上感興趣的設(shè)備。在這兩種情況下,基本的交換信息就是發(fā)現(xiàn)消息。發(fā)現(xiàn)消息包括設(shè)備的一些特定信息或者某項服務(wù)的信息,例如它的類型、標志符 UUID (Universally Unique Identifier)等等。
[0084]步驟S23、DLNA網(wǎng)絡(luò)控制點得到設(shè)備描述和服務(wù)描述的URL,通過URL取回設(shè)備描述和服務(wù)描述的信息;
[0085]在控制點發(fā)現(xiàn)一臺設(shè)備后,控制點對該設(shè)備可能僅僅知道設(shè)備或者服務(wù)的UPnP類型,設(shè)備的UUID和設(shè)備描述的URL地址,還需要知道更多的信息??刂泣c可以從發(fā)現(xiàn)消息中得到設(shè)備描述的URL,通過URL取回設(shè)備描述和服務(wù)描述的信息。
[0086]其中,設(shè)備描述是UPnP對某一設(shè)備的描述,以XML形式來表不,設(shè)備描述包括制造商信息、模塊名稱和編號、序列號等等。對于一個物理設(shè)備可以包含多個邏輯設(shè)備,多個邏輯設(shè)備既可以是一個根設(shè)備其中嵌入多個設(shè)備,也可以是多個根設(shè)備的方式存在。設(shè)備描述由設(shè)備制造商提供,采用XML描述,遵循UPnP框架協(xié)議。
[0087]服務(wù)描述包含一系列內(nèi)容,具體有服務(wù)運行時刻的狀態(tài),運行時間等等。服務(wù)描述也由設(shè)備制造商提供,采用XML描述,遵循UPnP框架協(xié)議。
[0088]其中,URL是Uniform Resource Locat1n的縮寫,譯為“統(tǒng)一資源定位符”。形象點說,URL是Internet上用來描述信息資源的字符串,主要用在各種WWW客戶程序和服務(wù)器程序上,采用URL可以用一種統(tǒng)一的格式來描述各種信息資源,包括文件、服務(wù)器的地址和目錄等。
[0089]步驟S24、DMC向DMR設(shè)備服務(wù)發(fā)出動作請求。
[0090]在接收設(shè)備和服務(wù)描述之后,控制點可以向這些服務(wù)發(fā)出動作,同時控制點也可以輪詢服務(wù)的當前狀態(tài)??刂泣c將動作發(fā)送到設(shè)備服務(wù),在動作完成或者失敗后,服務(wù)返回相應(yīng)的結(jié)果或者錯誤信息。
[0091]為了控制一臺設(shè)備,控制點向設(shè)備服務(wù)發(fā)出一動作,這一般是由控制點向服務(wù)的控制URL地址發(fā)送一個適當?shù)目刂葡?。而服?wù)則會對此動作出響應(yīng),返回相關(guān)的結(jié)果或錯誤。
[0092]?步驟S3、DMC向DMR發(fā)出任意的動作指令,并判斷是否屬于控制動作,如果判斷屬于控制動作,則進入下一步驟S4 ;
[0093]如果DMC向DMR發(fā)出的動作指令判斷屬于非控制動作,則可直接向DMR發(fā)送該動作指令而無需申請DMR控制權(quán)。
[0094]?步驟S4、DMC向DMR發(fā)送請求控制權(quán)動作X_ControlApplicat1n,該動作定義在AVTransport服務(wù)之下,用來向DMR申請控制權(quán)。
[0095]DMC向DMR發(fā)起申請控制權(quán)是存在UI用戶交互的情形時,即用戶主動通過DMC向DMR發(fā)出動作指令時需要申請控制權(quán),而DMC自動向DMR發(fā)出動作指令時不需要申請控制權(quán)。
[0096]?步驟S5、DMR接收到請求權(quán)申請后根據(jù)DMC控制權(quán)記錄管理協(xié)議回復(fù)DMC控制權(quán)請求;
[0097]其中DMC控制權(quán)記錄管理協(xié)議具體為:
[0098]G51、DMR終端建立專有變量,用來記錄當前取得控制權(quán)的DMC的IP地址;
[0099]G52、DMR終端接收到請求控制權(quán)動作X_ControlApplicat1n后,將動作源DMC的IP地址與專有變量做比較,如果不相同并且申請DMR控制權(quán)成功,則更新專有變量的值;
[0100]G53、DMR終端接收到控制動作,將動作源DMC的IP地址與專有變量做比較,如果相同,則執(zhí)行該控制動作,否則忽略此控制動作;
[0101]G54、DMR終端接收到非控制動作,直接執(zhí)行該非控制動作。
[0102]?步驟S6、DMC收到DMR控制權(quán)申請成功的回復(fù)后,繼續(xù)發(fā)送控制動作至DMR,完成特定功能的命令。
[0103]綜上所述,本發(fā)明通過擴展UPnP協(xié)議,提供了一種避免產(chǎn)生控制沖突的方法,同樣允許多個DMC來控制DMR,但在同一時段內(nèi),DMC需要通過申請控制權(quán)來取得對DMR的播放控制,其他沒有控制權(quán)的DMC只能獲取到DMR狀態(tài)或參數(shù)的變化,不能對其進行播放控制。總結(jié),該方法有以下幾個原則:
[0104]1.DMC在控制DMR前,需先發(fā)送請求向DMR申請控制權(quán);
[0105]2.DMR記錄申請控制權(quán)的DMC的IP地址,且僅執(zhí)行該IP地址發(fā)送的控制動作;
[0106]3.同一時間,DMR最多記錄一臺擁有控制權(quán)的DMC設(shè)備;
[0107]4.DMR需過濾掉沒有控制權(quán)的DMC的控制動作,但可以接收其他狀態(tài)請求動作。
[0108]實施例二
[0109]請參見圖3,圖3是本實施例中一種避免多個DMC推送媒體播放產(chǎn)生沖突的裝置結(jié)構(gòu)圖。圖3所示的避免多個DMC推送媒體播放產(chǎn)生沖突的裝置,應(yīng)用于DLNA家庭娛樂網(wǎng)絡(luò)中以解決多個DMC同時控制DMR存在控制沖突的問題。
[0110]圖3公開的本實施例中的避免多個DMC推送媒體播放產(chǎn)生沖突的裝置具體包括以下單元:
[0111]1、UPnP協(xié)議內(nèi)容分類處理單元,
[0112]該單元根據(jù)UPnP通用即插即用協(xié)議定義的服務(wù)及動作,對原協(xié)議內(nèi)容作分類處理,劃分為‘控制動作’和‘非控制動作’,其中控制動作指DMC調(diào)用DMR前需要申請控制權(quán)的動作,非控制動作指DMC調(diào)用DMR前不需要申請控制權(quán)的動作,動作表示客戶端發(fā)出的完成特定功能的命令。
[0113]其中,控制動作包括
[0114]urn: schemas-upnp-org: service:RenderingControl:1 服務(wù)中的所有動作和
[0115]urn: schemas-upnp-org: service:AVTransport:1 服務(wù)中所有 ‘set’ 動作,以及‘Stop,、‘Play,,‘Pause,,‘Record,,‘Seek,,‘Next,,‘Prev1us,動作。
[0116]非控制動作包括
[0117]urn: schemas-upnp-org: service:Connect1nManager:1 服務(wù)中的所有動作和
[0118]urn: schemas-upnp-org: service:AVTransport:1 服務(wù)中所有 ‘get,動作。
[0119]2、DMC初始化單元,
[0120]該單元用于DMC加入DLNA網(wǎng)絡(luò)的初始化,并選擇一個DMR作為渲染器。
[0121 ] 該DMC初始化單元又包括下列模塊:
[0122]尋址模塊,該模塊用于DMC加入DLNA網(wǎng)絡(luò)后首先尋址獲取IP地址;
[0123]發(fā)現(xiàn)模塊,該模塊用于DMC向DLNA網(wǎng)絡(luò)上的控制節(jié)點告知設(shè)備的類型、標志符UUID、提供的服務(wù)以及設(shè)備描述和服務(wù)描述的URL地址;
[0124]描述模塊,該模塊用于DLNA網(wǎng)絡(luò)控制點得到設(shè)備描述和服務(wù)描述的URL,通過URL取回設(shè)備描述和服務(wù)描述的信息;
[0125]控制模塊,該模塊用于DMC向DMR設(shè)備服務(wù)發(fā)出動作請求。
[0126]3、DMC動作指令判斷單元,
[0127]該單元用于DMC向DMR發(fā)出任意的動作指令,并判斷是否屬于控制動作,如果判斷屬于控制動作,則轉(zhuǎn)至DMR控制權(quán)請求單元。
[0128]同時,如果判斷屬于非控制動作,則可直接向DMR發(fā)送該動作指令而無需申請DMR控制權(quán)。
[0129]4、DMR控制權(quán)請求單元,
[0130]該單元用于DMC向DMR發(fā)送請求控制權(quán)動作X_ControlApplicat1n,該動作定義在AVTransport服務(wù)之下,用來向DMR申請控制權(quán)。
[0131]通常,該單元中DMC向DMR發(fā)起申請控制權(quán)是存在Π用戶交互的情形時,即用戶主動通過DMC向DMR發(fā)出動作指令時需要申請控制權(quán),而DMC自動向DMR發(fā)出動作指令時不需要申請控制權(quán)。
[0132]5、控制權(quán)記錄管理協(xié)議單元,
[0133]該單元用于DMR接收到請求權(quán)申請后根據(jù)控制權(quán)記錄管理協(xié)議回復(fù)DMC控制權(quán)請求。
[0134]該控制權(quán)記錄管理協(xié)議單元又具體包括下列模塊:
[0135]專有變量建立模塊,該模塊用于DMR終端建立專有變量,用來記錄當前取得控制權(quán)的DMC的IP地址;
[0136]專有變量更新模塊,該模塊用于在DMR終端接收到請求控制權(quán)動作X_ControlApplicat1n后,將動作源DMC的IP地址與專有變量做比較,如果不相同并且申請DMR控制權(quán)成功,則更新專有變量的值;
[0137]動作源IP地址校驗?zāi)K,該模塊用于在DMR終端接收到控制動作后,將動作源DMC的IP地址與專有變量做比較,如果相同,則執(zhí)行該控制動作,否則忽略此控制動作;
[0138]非控制動作執(zhí)行模塊,該模塊用于DMR終端在接收到非控制動作,直接執(zhí)行該非控制動作。
[0139]6、DMC控制動作發(fā)送單元,該單元用于DMC收到DMR控制權(quán)申請成功的回復(fù)后,繼續(xù)發(fā)送控制動作至DMR,完成特定功能的命令。
[0140]值得注意的是,上述裝置實施例中,所包括的各個單元和模塊只是按照功能邏輯進行劃分的,但并不局限于上述的劃分,只要能夠?qū)崿F(xiàn)相應(yīng)的功能即可;另外,各裝置和單元的具體名稱也只是為了便于相互區(qū)分,并不用于限制本發(fā)明的保護范圍。
[0141]上述實施例為本發(fā)明較佳的實施方式,但本發(fā)明的實施方式并不受上述實施例的限制,其他的任何未背離本發(fā)明的精神實質(zhì)與原理下所作的改變、修飾、替代、組合、簡化,均應(yīng)為等效的置換方式,都包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種避免多個DMC推送媒體播放產(chǎn)生沖突的方法,應(yīng)用于DLNA家庭娛樂網(wǎng)絡(luò)中以解決多個DMC同時控制DMR存在控制沖突的問題,其特征在于,包括下列步驟: 51、根據(jù)UPnP通用即插即用協(xié)議定義的服務(wù)及動作,對原協(xié)議內(nèi)容作分類處理,劃分為‘控制動作’和‘非控制動作’,其中控制動作指DMC調(diào)用DMR前需要申請控制權(quán)的動作,非控制動作指DMC調(diào)用DMR前不需要申請控制權(quán)的動作,動作表示客戶端發(fā)出的完成特定功能的命令; 52、DMC加入DLNA網(wǎng)絡(luò),并選擇一個DMR作為渲染器; 53、DMC向DMR發(fā)出任意的動作指令,并判斷是否屬于控制動作,如果判斷屬于控制動作,則進入下一步驟S4; 54、DMC向DMR發(fā)送請求控制權(quán)動作X_ControlApplicat1n,該動作定義在AVTransport服務(wù)之下,用來向DMR申請控制權(quán); 55、DMR接收到請求權(quán)申請后根據(jù)DMC控制權(quán)記錄管理協(xié)議回復(fù)DMC控制權(quán)請求; 56、DMC收到DMR控制權(quán)申請成功的回復(fù)后,繼續(xù)發(fā)送控制動作至DMR,完成特定功能的命令。
2.根據(jù)權(quán)利要求1所述的一種避免多個DMC推送媒體播放產(chǎn)生沖突的方法,其特征在于:所述步驟I中控制動作包括 urn: schemas-upnp-org: service:RenderingControl:1 月艮務(wù)中的所有動作和urn: schemas-upnp-org: service:AVTransport:1 服務(wù)中所有 ‘set’ 動作,以及‘Stop,、‘Play,,‘Pause,,‘Record,,‘Seek,,‘Next,,‘Prev1us,動作。
3.根據(jù)權(quán)利要求1所述的一種避免多個DMC推送媒體播放產(chǎn)生沖突的方法,其特征在于:所述步驟I中非控制動作包括 urn: schemas-upnp-org: service:Connect1nManager:1 月艮務(wù)中的所有動作和 urn: schemas-upnp-org: service:AVTransport:1 月艮務(wù)中所有 ‘get’ 動作。
4.根據(jù)權(quán)利要求1至3任一所述的一種避免多個DMC推送媒體播放產(chǎn)生沖突的方法,其特征在于,所述步驟S5中DMC控制權(quán)記錄管理協(xié)議具體為: G5UDMR終端建立專有變量,用來記錄當前取得控制權(quán)的DMC的IP地址; G52、DMR終端接收到請求控制權(quán)動作X_ControlApplicat1n后,將動作源DMC的IP地址與專有變量做比較,如果不相同并且申請DMR控制權(quán)成功,則更新專有變量的值; G53、DMR終端接收到控制動作,將動作源DMC的IP地址與專有變量做比較,如果相同,則執(zhí)行該控制動作,否則忽略此控制動作; G54、DMR終端接收到非控制動作,直接執(zhí)行該非控制動作。
5.根據(jù)權(quán)利要求1至3任一所述的一種避免多個DMC推送媒體播放產(chǎn)生沖突的方法,其特征在于,所述步驟S2具體為: 521、DMC加入DLNA網(wǎng)絡(luò)后首先尋址獲取IP地址; 522、DMC向DLNA網(wǎng)絡(luò)上的控制節(jié)點告知設(shè)備的類型、標志符UUID、提供的服務(wù)以及設(shè)備描述和服務(wù)描述的URL地址; 523、DLNA網(wǎng)絡(luò)控制點得到設(shè)備描述和服務(wù)描述的URL,通過URL取回設(shè)備描述和服務(wù)描述的信息; 524、DMC向DMR設(shè)備服務(wù)發(fā)出動作請求。
6.根據(jù)權(quán)利要求1至3任一所述的的一種避免多個DMC推送媒體播放產(chǎn)生沖突的方法,其特征在于: 所述步驟S3中DMC向DMR發(fā)出的動作指令如果判斷屬于非控制動作,則可直接向DMR發(fā)送該動作指令而無需申請DMR控制權(quán)。
7.根據(jù)權(quán)利要求1至3任一所述的一種避免多個DMC推送媒體播放產(chǎn)生沖突的方法,其特征在于: 所述步驟S4中DMC向DMR發(fā)起申請控制權(quán)是存在UI用戶交互的情形時,即用戶主動通過DMC向DMR發(fā)出動作指令時需要申請控制權(quán),而DMC自動向DMR發(fā)出動作指令時不需要申請控制權(quán)。
8.一種避免多個DMC推送媒體播放產(chǎn)生沖突的裝置,應(yīng)用于DLNA家庭娛樂網(wǎng)絡(luò)中以解決多個DMC同時控制DMR存在控制沖突的問題,其特征在于,包括下列單元: UPnP協(xié)議內(nèi)容分類處理單元,該單元根據(jù)UPnP通用即插即用協(xié)議定義的服務(wù)及動作,對原協(xié)議內(nèi)容作分類處理,劃分為‘控制動作’和‘非控制動作’,其中控制動作指DMC調(diào)用DMR前需要申請控制權(quán)的動作,非控制動作指DMC調(diào)用DMR前不需要申請控制權(quán)的動作,動作表示客戶端發(fā)出的完成特定功能的命令; DMC初始化單元,該單元用于DMC加入DLNA網(wǎng)絡(luò)的初始化,并選擇一個DMR作為渲染器; DMC動作指令判斷單元,該單元用于DMC向DMR發(fā)出任意的動作指令,并判斷是否屬于控制動作,如果判斷屬于控制動作,則轉(zhuǎn)至DMR控制權(quán)請求單元; DMR控制權(quán)請求單元,該單元用于DMC向DMR發(fā)送請求控制權(quán)動作X_ControlApplicat1n,該動作定義在AVTransport服務(wù)之下,用來向DMR申請控制權(quán); 控制權(quán)記錄管理協(xié)議單元,該單元用于DMR接收到請求權(quán)申請后根據(jù)控制權(quán)記錄管理協(xié)議回復(fù)DMC控制權(quán)請求; DMC控制動作發(fā)送單元,該單元用于DMC收到DMR控制權(quán)申請成功的回復(fù)后,繼續(xù)發(fā)送控制動作至DMR,完成特定功能的命令。
9.根據(jù)權(quán)利要求8所述的一種避免多個DMC推送媒體播放產(chǎn)生沖突的裝置,其特征在于:所述UPnP協(xié)議內(nèi)容分類處理單元中控制動作包括 urn: schemas-upnp-org: service:RenderingControl:1 月艮務(wù)中的所有動作和urn: schemas-upnp-org: service:AVTransport:1 服務(wù)中所有 ‘set’ 動作,以及‘Stop,、‘Play,,‘Pause,,‘Record,,‘Seek,,‘Next,,‘Prev1us,動作。
10.根據(jù)權(quán)利要求8所述的一種避免多個DMC推送媒體播放產(chǎn)生沖突的裝置,其特征在于:所述UPnP協(xié)議內(nèi)容分類處理單元中非控制動作包括 urn: schemas-upnp-org: service:Connect1nManager:1 月艮務(wù)中的所有動作和 urn: schemas-upnp-org: service:AVTransport:1 月艮務(wù)中所有 ‘get’ 動作。
11.根據(jù)權(quán)利要求8至10任一所述的一種避免多個DMC推送媒體播放產(chǎn)生沖突的裝置,其特征在于,所述控制權(quán)記錄管理協(xié)議單元中包括下列模塊: 專有變量建立模塊,該模塊用于DMR終端建立專有變量,用來記錄當前取得控制權(quán)的DMC的IP地址; 專有變量更新模塊,該模塊用于在DMR終端接收到請求控制權(quán)動作X_ControlApplicat1n后,將動作源DMC的IP地址與專有變量做比較,如果不相同并且申請DMR控制權(quán)成功,則更新專有變量的值; 動作源IP地址校驗?zāi)K,該模塊用于在DMR終端接收到控制動作后,將動作源DMC的IP地址與專有變量做比較,如果相同,則執(zhí)行該控制動作,否則忽略此控制動作; 非控制動作執(zhí)行模塊,該模塊用于DMR終端在接收到非控制動作,直接執(zhí)行該非控制動作。
12.根據(jù)權(quán)利要求8至10任一所述的一種避免多個DMC推送媒體播放產(chǎn)生沖突的裝置,其特征在于,所述DMC初始化單元包括下列模塊: 尋址模塊,該模塊用于DMC加入DLNA網(wǎng)絡(luò)后首先尋址獲取IP地址; 發(fā)現(xiàn)模塊,該模塊用于DMC向DLNA網(wǎng)絡(luò)上的控制節(jié)點告知設(shè)備的類型、標志符UUID、提供的服務(wù)以及設(shè)備描述和服務(wù)描述的URL地址; 描述模塊,該模塊用于DLNA網(wǎng)絡(luò)控制點得到設(shè)備描述和服務(wù)描述的URL,通過URL取回設(shè)備描述和服務(wù)描述的信息; 控制模塊,該模塊用于DMC向DMR設(shè)備服務(wù)發(fā)出動作請求。
13.根據(jù)權(quán)利要求8至10任一所述的一種避免多個DMC推送媒體播放產(chǎn)生沖突的裝置,其特征在于: 所述DMC動作指令判斷單元中DMC向DMR發(fā)出的動作指令如果判斷屬于非控制動作,則可直接向DMR發(fā)送該動作指令而無需申請DMR控制權(quán)。
14.根據(jù)權(quán)利要求8至10任一所述的一種避免多個DMC推送媒體播放產(chǎn)生沖突的裝置,其特征在于: 所述DMR控制權(quán)請求單元中DMC向DMR發(fā)起申請控制權(quán)是存在Π用戶交互的情形時,即用戶主動通過DMC向DMR發(fā)出動作指令時需要申請控制權(quán),而DMC自動向DMR發(fā)出動作指令時不需要申請控制權(quán)。
【文檔編號】H04N21/858GK104320718SQ201410494467
【公開日】2015年1月28日 申請日期:2014年9月24日 優(yōu)先權(quán)日:2014年9月24日
【發(fā)明者】任超 申請人:廣東歐珀移動通信有限公司