Starting point: there are many dlna/UPnP protocol stacks and the advantages of cyberlink for Java (download on SourceForge): simple and practical, the disadvantage is low efficiency, there are several fatal bugs
Objective: To solve the problem that the dlna player/server implemented by cyberlink cannot be found by other control points. Why can't I play a media file on the media server?
Practice: The SSDP Protocol implemented by media Renderer requires periodic multicast packets to tell other devices in the LAN that they are online. You need to add the multicast permission obtained by the following code:
Add the following code to the oncreate () method:
Multicastlock; private void allowmulticast () {wifimanager = (wifimanager) getsystemservice (context. wifi_service); multicastlock = wifimanager. createmulticastlock ("multicast. test "); multicastlock. acquire ();}
The following code calls the ondestroy () method:
Private void releasemultcast () {multicastlock. Release ();}