译文地址:https://github.com/4thline/cling
Cling 类库是由 Java 实现的 DLNA/UPnP 协议栈。这个项目的目的不但严格规范遵守,完整清晰大量的api,而且有丰富的spis用于轻松的定制化。
Cling是一个开源库,分布在GNU Lesser General Public License或者Common Development and Distribution License。
我们建议你从readme.txt开始。
之后下载Cling或创建一个maven工程在你的pom.xml
4thline-repo
http://4thline.org/m2
false
org.fourthline.cling
cling-core
2.1.1
读简单的Cling使用例子手册的第一章,看这个android应用的例子。
请把你使用Cling遇到的问题取个合适的tags提交到stackoverflow.com。
Cling的主moudle是
安装android sdk 并为 sdk目录配置ANDROID_HOME环境变量
clone Cling源码
git clone https://github.com/4thline/cling.git
改变cling/
目录
安装所有的东西到你的本地~/.m2 maven仓库(如果所有的依赖都需要第一时间下载,可能需要几分钟的时间)
mvn clean install
如果因为你的Android/dex包出错导致编译失败,因为你忘记了clean
使用Cling 在你的pom.xml :
org.fourthline.cling
cling-core
2.1.2-SNAPSHOT
hdiutil create -srcfolder \
workbench/target/cling-workbench-2.1.2-SNAPSHOT/Cling\ Workbench.app \
workbench/target/cling-workbench-2.1.2-SNAPSHOT/Cling\ Workbench.dmg
在github上构建一个 release 和 tag
更新maven仓库:
mvn clean install
mvn deploy
YAACC-一个Android的UPnP控制器,自由软件为GPL。它允许您在您的网络中发现、使用和控制UPnP设备,以便流媒体文件。由于它是UPnP的一个子集,它也可以与DLNA设备进行通信 。
等等...... (这我就不翻译了)
DIAL Support -- 基于alpha 2.0 的代码,这个android,java的UPnP/DLNA库,包含了发现DIAL设备的修改
Cling Core兼容了UPnP Device Architecture 1.0。
是的, 你能够使用Cling Core库为android写一个control point应用。你能够在Cling Support模块儿中发现浏览和解析媒体服务器内容目录的附加的实用工具 。
Cling Core是作为单一的jar被分配,它仅仅只有一个其他的依赖,就是seamless-*
库All JAR files are typically packaged next to each other in the ZIP distribution. You have to add them to your classpath.
首先写一个control point和一个RegistryListener
,在手册中做了一个说明。 之后在设备被发现的时候调用device.getServices()
。
你将会在启动的时候得到一个error,这个error将告诉你Cling 不能够使用JDK的 HttpUrlConnation 对HTTP 客户端的操作。这是JDK的一个非常老的和不好的设计:仅仅只有一个应用能够在JVM里安装它。 你不得不在HTTP客户端和Cling中做出选择,the other bundled implementation based on Apache HTTP Core。这个在the user manual中也有说明,更多详情请看the user manual。
不支持,在Cling Core 中 UPnP协议栈的默认配置将会过滤掉所有的网络接口和所有非IPv4的地址。一些其他Cling Core库的一部分可能支持IPv4地址,但是整个库还没有使用IPv6进行测试only environment(不会翻译),非常欢迎你使用UpnpServiceConfiguration 和 NetworkAddressFactory 来测试Cling的IPv6,贡献你的一点力量。
java.util.logging实现在android上已经碎了,它不允许你轻易的输出debug-level的信息。看这个解决办法this discussion。
Here.
Cling 1.0支持Android 2.1。 Cling 2.0 我们现在需要level 15 (Android 4.0.3)。
RuntimeException at org.teleal.cling.protocol.sync.ReceivingSubscribe.responseSent(ReceivingSubscribe.java:177)。