关于dlna开发使用的若干故障排除

关于dlna开发使用的若干故障排除

鉴于此前博主发表过dlna开发的相关文章并在github上传了相关工程

github主页-->https://github.com/geniusgithub

亦有不少网友也下载使用了,其中不乏网友反馈说设备找不到或是搜索不稳定云云。。

这里可能原因有很多,下面就博主亲身经历简单阐述下几种可能的原因以及如何排查问题

1.路由环境问题(这种情况较少)

检测手段:下载bubbleupnp(一个很稳定的第三方客户端)

http://www.wandoujia.com/apps/com.bubblesoft.android.bubbleupnp

找两个手机安装下并接入路由器,如果搜索正常则排除此项

否则就是路由器问题,最简单的解决方法就是重启路由器

应该就可以了,如果始终不行就要检查下配置看看是不是设置了防火墙什么的(upnp组播禁用)

2.手机问题

很多手机平板类的移动设备上android系统默认是不打开组播锁的(应用接受组播消息会很耗电),所以需要额外在软件代码里额外加上打开关闭的操作

1)打开权限

2.)打开组播锁

WifiManager wifiManager=(WifiManager)context.getSystemService(Context.WIFI_SERVICE);

MulticastLock multicastLock=wifiManager.createMulticastLock("MediaRender");

if (multicastLock != null){

multicastLock.acquire();

}

3)关闭组播锁

在退出软件的时候记得关闭

if (mMulticastLock != null){

mMulticastLock.release();

mMulticastLock = null;

}

很多不稳定的原因都是因此造成的,在有些设备上甚至会影响到udp单播的接收

对于dmr,dms如果无法接收组播消息则意味着无法响应客户端的searh消息

对于