Android,DLNA投影到智能电视上

时间:2011-11-09 13:17:26

标签: android dlna

如何通过Android应用程序将照片DLNA投影到任何智能电视上?

1 个答案:

答案 0 :(得分:4)

您需要两个组件:

  • 支持DLNA的upnp堆栈(例如cling
  • 一个非常简单的嵌入式网络服务器(我建议你自己写这个,你很快就会明白为什么)

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

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