我想为音频流实现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