使用Java库Cling,我可以使用upnp在局域网上发现我的电视。电视广告以下upnp服务
它还说,它是“MediaRenderer”类型,型号描述是“Samsung TV DMR”。
据我所知,所有这些功能也可以由计算机提供。但在“真实”世界中,电视和电脑是两回事(尽管它们可能提供相同的服务)。
通过哪种upnp方法,我可以唯一地识别我正在与“电视”对话?
答案 0 :(得分:2)
最好深入了解服务描述文件(SCPD)。
在RenderingControl
的StateVariables中,电视通常有Contrast
和Brightness
,但PC DLNA设备通常没有。{/ p>
使用GetProtocolInfo
ConnectionManager
服务,我们可以获得有能力的媒体格式列表,可用于区分电视和其他音频设备。
答案 1 :(得分:1)
我可以提出的“可移植性”的唯一解决方案是根据其唯一ID(UUID)制作设备白名单。如果您打算实现一个侦听某个特定设备外观的控制器,那么获取该设备的UUID并使用它配置控制器。如果您的控制器将具有UI,则显示找到的所有设备并询问用户“这是电视吗?”。我敢说UPnP中没有确定的方法可以说特定的UPnP设备“是电视”。 UPnP根本没有指定这样的设备类。您的服务观察是绝对正确的,您不仅可以从计算机获得相同的响应,还可以获得DVD播放器或智能闹钟的响应。