我想在
android中创建airplay,其中我的
Android设备将作为airplay服务器(接收器)工作,iPhone设备将作为接收器工作.我在我的应用程序中使用了jmdns,它是java中的开源库,用于airplay.它的音频工作正常.但是当我来看视频和图像时,即使发现了这个设备,我也很难为之奋斗.这是我创建和注册该服务的代码:
ServiceInfo info = ServiceInfo.create(identifier + "@" + name + "._raop._tcp.local", identifier + "@" + name, port, "tp=UDP sm=false sv=false ek=1 et=0,1 cn=0,1 ch=2 ss=16 sr=44100 pw=false vn=3 txtvers=1");
dns = JmmDNS.Factory.getInstance();
((JmmDNSImpl)dns).inetAddressAdded(new NetworkTopologyEventImpl(JmDNS.create(InetAddress.getByName("localhost")), InetAddress.getByName("localhost")));
try {
Thread.sleep(1000); // If this isn't done the Announcement sometimes doesn't go out on the local interface
} catch (InterruptedException e) {
e.printStackTrace(System.err);
}
dns.registerService(info);
当我将第一行中的._raop更改为._airplay时,该设备已经在iPad中发现了图像和音频.当我选择播放视频的设备时,它显示消息“这个视频正在播放android(服务器名称)”.但是在服务器端我没有得到任何数据包的处理.我在Jmdns学习很多.但是我没有使用jmdns来实现在airplay中的视频和图像.有任何想法吗 ?