在upnp / dlna中识别电视

时间:2012-04-28 09:41:07

标签: java upnp television dlna

使用Java库Cling,我可以使用upnp在局域网上发现我的电视。电视广告以下upnp服务

  • RenderingControl
  • AVTransport
  • 的ConnectionManager

它还说,它是“MediaRenderer”类型,型号描述是“Samsung TV DMR”。

据我所知,所有这些功能也可以由计算机提供。但在“真实”世界中,电视和电脑是两回事(尽管它们可能提供相同的服务)。

通过哪种upnp方法,我可以唯一地识别我正在与“电视”对话?

2 个答案:

答案 0 :(得分:2)

最好深入了解服务描述文件(SCPD)。

RenderingControl的StateVariables中,电视通常有ContrastBrightness,但PC DLNA设备通常没有。{/ p>

使用GetProtocolInfo ConnectionManager服务,我们可以获得有能力的媒体格式列表,可用于区分电视和其他音频设备。

请参阅http://upnp.org/specs/av/av4/

答案 1 :(得分:1)

我可以提出的“可移植性”的唯一解决方案是根据其唯一ID(UUID)制作设备白名单。如果您打算实现一个侦听某个特定设备外观的控制器,那么获取该设备的UUID并使用它配置控制器。如果您的控制器将具有UI,则显示找到的所有设备并询问用户“这是电视吗?”。我敢说UPnP中没有确定的方法可以说特定的UPnP设备“是电视”。 UPnP根本没有指定这样的设备类。您的服务观察是绝对正确的,您不仅可以从计算机获得相同的响应,还可以获得DVD播放器或智能闹钟的响应。