我想爲音頻流實現DLNA設備媒體渲染器(DMR)。我在這裏找到了文檔:http://upnp.org/resources/upnpresources.zip,發現似乎有三個版本的DMR(MediaRenderer:1,MediaRenderer:2,MediaRenderer:3)。我無法找到關於選擇哪一個的建議。有沒有理由不選擇MediaRenderer:3?如何知道選擇哪個版本的DMR(設備媒體渲染器)?
1
A
回答
1
UPnP服務的更新保證向後兼容,因此每個MediaRenderer:3設備都將包含v1和v2服務的實施,並將針對v1或v2的MSEARCH作爲該版本進行響應。
見1.1版設備架構文檔(包含在您引用ZIP)瞭解更多詳情,具體
§1.2.2設備可用 - 與SSDP NOTIFY:活着
更新UPnP設備 和服務類型需要完全向後兼容 先前版本的相同類型。
§1.3.2搜索與M-SEARCH請求
設備和服務類型的更新版本都必須與以前的版本完全 向後兼容。設備必須迴應 任何支持版本的M-SEARCH請求。例如,如果設備 實現「urn:schemas-upnporg:service:xyz:2」,它必須對 對該類型和 「urn:schemas-upnp-org:service:xyz:1」的搜索請求做出響應。 。它期望V1,V2或V3的服務3將是由控制點可用的:如在搜索請求中載
換言之,一個能正確實現MediaRenderer一個設備的響應必須指定 相同的版本。實現早期版本服務的設備將侷限於使用期望這些早期版本的控制點。
我同意你的觀點,即實施MediaRenderer:3是你最好的選擇。這應該允許您的設備被所有可能的控制點使用。
相關問題
- 1. 如何知道選擇哪個項目?
- 2. 如何玩android本地媒體到DLNA渲染器?
- 3. 如何知道哪個控制器在cakePHP中渲染了佈局?
- 4. 我如何知道哪個版本是版本庫中的最新版本號?
- 5. 電子 - 如何知道什麼時候渲染窗口準備
- 6. 我如何知道我使用的是哪個版本的Javascript?
- 7. 我如何知道我運行的是哪個版本的RichFaces?
- 8. 如何知道設備?
- 9. 如何知道選擇了哪個單選按鈕?
- 10. 如何知道在Qt中選擇了哪個選項卡?
- 11. 如何知道選擇哪個選項PHP
- 12. 我如何知道我安裝了哪個版本的monotouch?
- 13. 如何知道它是哪個版本的ASP.net?
- 14. 如何知道哪個版本的asp.net mvc項目是?
- 15. 如何知道我的SSL支持哪個版本?
- 16. 媒體選擇器項目選擇
- 17. 瀏覽器的哪個渲染器?
- 18. 如何知道文件是否爲文本渲染? (Java)
- 19. 如何知道客戶端使用哪個websocket版本?
- 20. 我如何知道我正在運行哪個WPF版本?
- 21. 我如何知道我在git中檢出了哪個版本?
- 22. 如何知道哪個Facebook好友點擊了我的流媒體故事?
- 23. 如何將媒體投射到Chromecast設備的默認媒體接收器?
- 24. 蟒蛇統一渲染:如何知道一個Unicode字符從字體
- 25. 選擇選項不渲染
- 26. 如何知道選擇了哪個滑塊
- 27. 如何知道在Intent.ACTION_SEND中選擇了哪個意圖?
- 28. Xamarin - 如何知道用戶選擇了哪個文件
- 29. 轉換爲int16,int32,int64 - 您如何知道選擇哪一個?
- 30. 如何知道選擇了哪個mysqli_fetch_assoc行
感謝您的回答,但我不確定我的理解。因此,選擇MediaRenderer:1而不是MediaRenderer:3是因爲我知道我將與其他v1服務/設備一起使用它?如果我不知道我將使用哪些服務(v1,v2或v3),那麼我應該選擇MediaRenderer:3,因爲它可以與所有設備一起使用?您是通過閱讀關於不同媒體渲染器的描述獲得這些信息的嗎?或者您是否知道其他任何我能找到這些信息的好源? – Olppah 2013-04-26 14:33:39
重新閱讀它,我的回答相當混亂(並且結論是錯誤的)。我現在編輯它,說我同意你的評估,即實施MediaRenderer:3最適合你。向後兼容性的信息來自閱讀設備體系結構文檔並實現UPnP協議棧。我會在我的答案中添加一個具體的參考。 – simonc 2013-04-26 14:38:22
好的,謝謝你的回答。我不能說一切都很清楚,我可能會問更多的問題,但我想這些問題將在另一個主題下發布,當我閱讀了更多的這些規範。 – Olppah 2013-04-26 16:10:21