2011-11-09 39 views

回答

4

你将需要两个组件:

  • 一个DLNA功能的UPnP的栈(如cling
  • 一个非常简单的嵌入式Web服务器(我建议您撰写自己,你很快就会明白为什么)

的步骤是这样的,几乎不管你是什么栈的实现:

  1. 在upnp堆栈中启动设备发现并稍等片刻查看网络上可找到哪些渲染设备
  2. 检查哪些设备能够播放图像(来自设备功能)并让用户选择其中一个
  3. 从选定的设备,使用使用传输服务的传输服务和提供劳务
  4. ,调用setTransportUri一个URI以您自己的选择。只需要将IP地址指向自己的设备,但后面的路径可以是任何东西。
  5. 远程渲染器将发出你给的URI HTTP GET请求。
  6. 的HTTP GET请求自动转发到您自己的迷你Web服务器,现在应该侦听的端口,你提供了。
  7. 现在请确保输入的HTTP GET URI匹配您在setTransportURI给URI。出于安全原因,您应该忽略所有其他HTTP GET URI和所有其他类型的HTTP请求。如果匹配,则将文件的内容返回给渲染器。在这里你可以使用你自己喜好的一些类库。
  8. 现在你等待完成setTransportURI。这可以通过观察传输服务的transportUri状态属性来完成。
  9. 现在你在渲染服务中调用play(并且等到状态属性变为播放状态,如果你想确保发生状态转换)
  10. 就是这样,图像显示在渲染器上!