2014-09-04 7 views
10

Ich brauche Bluetooth-Headset mit Spracherkennung, die fast funktioniert in einigen Geräten wie S3, S4 und Samsung Grand. Allerdings, wenn ich versuchte, gleiche auf dem Nexus 7, erhalte ichstartVoiceRecognition mit Bluetooth-Headset funktioniert nicht

BluetoothHeadsetServiceJni : Failed to start voice recognition, status: 6 

Fehler, wenn ich startVoiceRecognition() Methode nenne. Ich benutze den Code von dieser SO page.

Was sind die möglichen Gründe für dieses Problem nur bei einigen Geräten auftreten? Gibt es eine Möglichkeit, dieses Problem zu lösen?

Antwort

1

Ich habe überprüft, wie Narayan erwähnt, fand ich BluetoothHeadset.STATE_AUDIO_CONNECTED feuert in Nexus 7 sowie einige andere ZTE-Geräte, kann dies sein Manufature Fehler oder ein dieses Gerät nicht unterstützt Anruf und Sie versuchen, über zu kommunizieren call_mode, ich denke, es gibt nur eine Problemumgehung, um dieses Problem zu lösen

3

Mit Schuh Rat Vorschlag, ändern Sie die Startmethode in der Verknüpfung und sehen, ob es funktioniert.

public boolean start() 
{ 
    if (!mIsStarted) 
    { 
     mIsStarted = true; 
     if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB || "Nexus 7".equals(Build.MODEL) 
     { 
      mIsStarted = startBluetooth(); 
     } 
     else 
     { 
      mIsStarted = startBluetooth11(); 
     } 
    } 

    return mIsStarted; 
} 
+0

Sie können 'Build.MODEL' verwenden, um das Zielmodell zu bestimmen. Das heißt, die letzte Bedingung in if-Block kann durch "Nexus 7" .equals (Build.MODEL) ' – ozbek

+0

ersetzt werden, wenn ich mit Nexus 7 mache, kann dieses Problem in anderen Geräten auftreten, so wie kann ich verwaltet, ich nicht Ich möchte nur die Ursache hinter diesem Problem wissen, denn für die Problemumgehung können wir auch hinzufügen Timer-Finish onScoAudioConnected-Methode und es funktioniert auf allen Geräten so viel ich überprüft –

0

Nexus 7 nicht unterstützt VoiceRecognition, becuase Nexus 7 Bluetooth HFP (handsfreee Profil) nicht unterstützt, die VoiceRecognition enthält. Sie können die Bluetooth-Informationen des Geräts in https://www.bluetooth.org/tpg/listings.cfm finden.

+0

Seine Arbeit an meinem Nexus 7 aber durch Workaround nicht als normalerweise –

+0

Wirklich? Verwenden Sie AudioManager.startBluetoothSco(), um Bluetooth sco manully zu starten? –

+0

Ja, ich rufe onScoAudioConnected(); Methodenaufruf auf mCountDown11 zu beenden und ich fügte auch eine Überprüfung hinzu, um BluetoothHeadset zu identifizieren.STATE_AUDIO_CONNECTED wurde nicht aufgerufen, danach funktioniert es fast in allen Geräten so viel ich überprüfen kann –