记录一下开源DLNA协议栈(cyberlink for java)在android平台实现的Media Renderer为什么发现不了
2013-01-14 11:27
741 查看
出发点: DLNA/UPnP协议栈很多,cyberlink for java (sourceforge上有下载)的优点:简单实用,缺点是效率低,有几处致命的bug
目的: 解决cyberlink实现的dlna 播放器/服务器为什么不能被其它控制点发现的问题,为什么选择媒体服务器中的媒体文件播放不了?
实践: Media Renderer实现的SSDP协议需要周期性的发组播包,告诉局域网内的其它设备他在线,需要加入以下代码获的组播权限:
在onCreate()方法里加入调用如下代码
[java]
view plaincopy
MulticastLock multicastLock;
private void allowMulticast(){
WifiManager wifiManager=(WifiManager)getSystemService(Context.WIFI_SERVICE);
multicastLock=wifiManager.createMulticastLock("multicast.test");
multicastLock.acquire();
}
在onDestroy()方法调用如下代码
[java]
view plaincopy
private void releaseMultcast(){
multicastLock.release();
}
目的: 解决cyberlink实现的dlna 播放器/服务器为什么不能被其它控制点发现的问题,为什么选择媒体服务器中的媒体文件播放不了?
实践: Media Renderer实现的SSDP协议需要周期性的发组播包,告诉局域网内的其它设备他在线,需要加入以下代码获的组播权限:
在onCreate()方法里加入调用如下代码
[java]
view plaincopy
MulticastLock multicastLock;
private void allowMulticast(){
WifiManager wifiManager=(WifiManager)getSystemService(Context.WIFI_SERVICE);
multicastLock=wifiManager.createMulticastLock("multicast.test");
multicastLock.acquire();
}
在onDestroy()方法调用如下代码
[java]
view plaincopy
private void releaseMultcast(){
multicastLock.release();
}
相关文章推荐
- 记录一下开源DLNA协议栈(cyberlink for java)在android平台实现的Media Renderer为什么发现不了
- 记录一下开源DLNA协议栈(cyberlink for java)在android平台实现的Media Renderer为什么发现不了
- 今天无意中发现JavaBean类基本都要求实现了Serializable接口,以前只是知道序列化以后,可以通过io流的方式将对象序列化和反序列化,进行存取,但不知道为什么需要序列化,今天总结一下
- Windows 平台上的使用 Java 语言实现 appium 自动化程序 for Android(完整版)
- Appium :Windows 平台上的使用 Java 语言实现 appium 自动化程序 for Android
- Windows 平台上的使用 Java 语言实现 appium 自动化程序 for Android(完整版)
- Windows 平台上的使用 Java 语言实现 appium 自动化程序 for Android(完整版)
- 记录一下Android两种实现双击退出应用的方式
- 请教.Net平台大型业务系统中“日志记录” 的较好解决办法,类似Java下用AOP方式实现的最好
- C/C++在Java、Android和Objective-C三大平台下实现混合编程
- 记录一下八款开源 Android 游戏引擎
- C/C++ 在 Java 项目、Android 和 Objective-C 三大平台下实现混合编程
- 记录一下八款开源 Android 游戏引擎
- 记录一下js中的for/for..in,以及早期IE浏览器对于实现中存在的bug现象
- 记录一下八款开源 Android 游戏引擎
- 实现登录:很好用的Android/Java网络请求http第三方开源类库
- 记录一下八款开源 Android 游戏引擎
- 记录一下八款开源 Android 游戏引擎
- C/C++在Java、Android和Objective-C三大平台下实现混合编程
- Android开源库:手把手教你实现一个简单好用的搜索框(含历史搜索记录)