I need to start 2 services simultaneously (i.e airplay and airtunes) using jmdns. I'm able to start one service using jmdns but when I register 2 services simultaneously it gives me exception while sending data from IOS.
Here is my code:
void startDNSService() {
final JmDNS jmDNS = JmDNS.create(address); /* Create mDNS responder for address */
s_jmDNSInstances.add(jmDNS);
jmDNS.registerServiceType(AIR_TUNES_SERVICE_TYPE); /* Initialization service name */
String name = Utils.servName.length() > 0 ? Utils.servName : Utils.HardwareAddressString + "@X" + android.os.Build.MODEL;
Utils.servName = name;
/* Publish RAOP service */
final ServiceInfo airPlayServiceInfo = ServiceInfo.create(
AirPlayConstant.type,name, /* Service Name */
AirPlayConstant.port, 0 /* weight */, 0 /* priority */,
AirPlayConstant.getTxtHead());
jmDNS.registerService(airPlayServiceInfo);
final JmDNS jmDNS = JmDNS.create(InetAddress.getByName(ip),"audio");//AirTunes Service Strart code:
jmDNSInstances.add(jmDNS);// Create mDNS responder for address
jmDNS.registerServiceType(AirPlayConstant.type);
// Publish RAOP service
final ServiceInfo airTunesServiceInfo = ServiceInfo.create(AIR_TUNES_SERVICE_TYPE, "Airplay", getRtspPort(), 0 , 0 ,
AIRTUNES_SERVICE_PROPERTIES);
jmDNS.registerService(airTunesServiceInfo);
}
I've got ChannelCloseException while sharing audio from iTunes through AirTunes service. Video works well.
0 comments:
Post a Comment