UPnP如何运作?

Zac*_*ach 3 java android upnp

我正在做一个应用程序,它在一个启用upnp的电视机中呈现一个网页.我已经使用Cling UPnP实现了UPnP 现在我不确定如何继续进行.如何实现电视和设备之间的连接?它是套接字连接吗?有任何人有关于这个主题的任何样本或教程,这有助于我实现UPnP流媒体.

我在谷歌上搜索过,但它主要指向谷歌播放中现有的应用程序.谢谢

Pav*_*nek 5

好了,服务描述符XML(SCPD)包含<actionList><action>s的它们的参数,这可能是in(电视机)或out(将成为电视的应对措施的行动).您需要"调用"该操作,这意味着Cling将其序列化为SOAP RPC并将其作为HTTP请求发送到设备.在响应中,您将获得调用的总体结果,如使用普通HTTP,200表示正常,500表示错误请求等.每个代码在特定操作调用的上下文中具有特定说明.响应还将保存outSCPD中指定的参数.

但是当使用像Cling这样的抽象库时,这一切并不是你的兴趣所在.它会为你做一切.免责声明:我不熟悉Cling,只是有足够的其他UPnP库来知道在哪里寻找东西.

作为一台电视机,你提到的3个服务将是undoubtely AVTransport,ConnectionManagerRenderingControl.因此,为了提供一个简单的例子,它实际上可以在电视上观察到一些东西,让我们来电话RenderingControl.SetVolume.你需要的方法是org.teleal.cling.support.renderingcontrol.callback.SetVolume.我无法帮助您了解获取Service参数的位置,但您应该能够弄明白.

我并不是说你不需要知道UPnP是如何工作的.抓住UPnP规范捆绑并至少读取DeviceArchitecture pdf是必不可少的.你肯定需要规范来理解更复杂的服务AVTransport.提示:不关心InstanceID和ConnectionID.除非您连接到非常高级的渲染器(现在的电视不是这样),否则它全部为0.