Я хочу создать трансляцию в андроиде, в котором мое устройство Android будет работать как сервер трансляции (приемник), и устройство iPhone будут работать в качестве приемника. Я использовал jmdns в своем приложении, которое является библиотекой с открытым исходным кодом в java для трансляции. Он отлично работает для аудио. Но когда я прихожу к видео и изображению, для меня есть много борьбы даже с открытием устройства. Вот мой код для создания и регистрации сервиса:
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 lot. Но я не понимаю, как реализовать видео и изображение в эфире, используя jmdns. Любые идеи?