我想在安卓系统中创建airplay,其中我的android设备将作为一个airplay服务器(接收器)工作,而iPhone设备将作为一个接收器工作。我在我的应用程序中使用了jmdns,这是java中用于airplay的开源库。它对音频很好。但是,当我谈到视频和图像时,即使我发现了设备,.Here也是我创建和注册服务的代码。
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中发现了用于图像和音频的设备。当我选择播放视频的设备时,它会显示消息“--这个视频正在播放安卓(服务器名)”。但是在服务器端,我没有得到任何要处理的数据包。我被研究得很好。但是我不知道如何使用jmdns在空中播放中实现视频和图像。有什么想法吗?
发布于 2013-03-14 06:14:10
你需要一个流媒体服务器。在我看来,FFmpeg是一个有趣的起点。请参阅ffserver服务器组件。
下面是一个关于如何在ffmpeg java中包装它的很好的教程。
https://stackoverflow.com/questions/15128124
复制相似问题