2013-02-28 10 views
12

Android搭載端末がAirplayサーバー(受信者)として機能し、iPhoneデバイスが受信者として機能するようにAndroidでAirplayを作成したいと考えています。私は、airplayのJavaのオープンソースライブラリである私のアプリケーションでjmdnsを使用しました。それはオーディオのためにうまくいきます。私はビデオや画像に来るときしかし、その後、私のための闘争の多くは、さらに、デバイスの発見.Hereを作成するための私のコードであり、サービスを登録してあります。airplayのサーバー(受信者)としてのAndroidの実装

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をたくさん勉強しています。しかし、私はjmdnsを使ってビデオや画像をairplayに実装する方法を知りません。何か案は ?

+0

JmDNSはBonjourの挨拶ではなく、何もしません。 Androidサーバーアプリケーションでは、他の既存のライブラリを使用して、またはスクラッチからHttpライブストリーミングサーバー(写真とビデオの配信用)を実装する必要があります。 – yorkw

+0

@yorkw:これを実現する既存のライブラリはありますか? –

+0

@ V-Xtreme少しお手伝いできますか? –

答えて

3

ストリーミングサーバーが必要です。 FFmpegは私にとって興味深い場所です。 ffserverコンポーネントを参照してください。

ここでは、ffmpeg-javaにラップする方法に関する素晴らしいチュートリアルです。

+0

さらに、私はこれを見つけました:http://stackoverflow.com/questions/1244861/live-video-streaming-using-java FFmpegがどういうわけかあなたにとってうまくいかない場合 – stpn108

関連する問題