0

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

4

1 回答 1

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. 就是这样,图像显示在渲染器上!
于 2011-11-09T16:09:27.483 回答