2012-03-27 4 views
1

Google Anymote Protocol documentationによれば、mDNSパケットを送信することによってGoogleTVデバイスを発見することができます。Google Anymote発見識別文字列

GoogleTVデバイスは、文字列「_anymote._tcp.local」で識別することで対応する必要があります。

しかし、mDNSパケットを送信すると、NSZGT1-6017678.localという応答が返されます。

ドキュメントが間違っていない限り、デバイスをGTVデバイスとして識別する方法はありません。

紛失しているものがありますか?それができるが、どうやらmDNSのは、デバイスの検出に使用されていない

String airplay = "_airplay._tcp.local."; 
String gtv1 = "_anymote._tcp.local."; 
String gtv2 = "_anymote._tcp.local"; 

JmDNS jmDNS = JmDNS.create(); 

jmDNS.addServiceListener(gtv1, new ServiceListener() { 

    public void serviceResolved(ServiceEvent event) {} 

    public void serviceRemoved(ServiceEvent event) {} 

    public void serviceAdded(ServiceEvent event) { 
     System.out.println("Service added: " + event.getName() + " " +  event.getInfo().getName());    
    } 
}); 
+0

jmDNS.requestServiceInfoを呼び出して試してみてください(gtv2、event.getName());結果として生じるserviceResolved(ServiceEventイベント)メソッドが呼び出されるserviceAdded(ServiceEventイベント)メソッドで、serviceResolved(ServiceEventイベント)メソッドで詳細情報を取得できるかどうかを確認してください。 – yorkw

答えて

0

は、ちょうどGTVをフィルタリングするだけの方法はありません:たとえば

は、唯一のエアプレイの文字列は、実際には次のコードで任意のデバイスを返します。私が見つけたデバイス。

は、代わりにメッセージは、ポート9101上のネットワークで放送された次の実装を参照してください:

http://code.google.com/p/google-tv-remote/source/browse/src/com/google/android/apps/tvremote/BroadcastDiscoveryClient.java

関連する問題