关于如何通过 Android 应用程序将照片 DLNA 投影到任何智能电视上的任何想法?
问问题
971 次
1 回答
4
您将需要两个组件:
- 支持 DLNA 的 upnp 堆栈(例如cling)
- 一个非常简单的嵌入式网络服务器(我建议你自己写这个,你很快就会明白为什么)
步骤是这样的,几乎不管你的堆栈实现是什么:
- 在 upnp 堆栈中启动设备发现并稍等片刻,看看可以在网络上找到哪些渲染设备
- 检查哪些设备能够播放图像(从设备功能)并让用户选择其中一个
- 从所选设备,使用传输服务和渲染服务
- 使用传输服务,使用您自己选择的 URI 调用 setTransportUri。只是 IP 地址需要指向您自己的设备,但后面的路径可以是任何东西。
- 远程渲染器将为您提供的 URI 发出 HTTP GET 请求。
- HTTP GET 请求会自动转发到您自己的迷你网络服务器,该服务器现在应该正在监听您提供的端口。
- 现在确保传入的 HTTP GET URI 与您在 setTransportURI 中提供的 URI 匹配。出于安全原因,您应该忽略所有其他 HTTP GET URI,以及所有其他类型的 HTTP 请求。如果匹配,则将文件内容返回给渲染器。在这里,您可以使用自己喜欢的一些类库。
- 现在等待 setTransportURI 完成。这可以通过观察传输服务的 transportUri 状态属性来完成。
- 现在您在渲染服务中调用 play (如果您想确保状态转换发生,请等到状态属性变为正在播放)
- 就是这样,图像显示在渲染器上!
于 2011-11-09T16:09:27.483 回答