2014-09-04 9 views
10

Ho bisogno di utilizzare l'auricolare bluetooth con riconoscimento vocale, che quasi funziona bene su alcuni dispositivi come S3, S4 e Samsung Grand. Tuttavia, quando ho provato lo stesso su Nexus 7, io sono semprestartVoiceRecognition con auricolare bluetooth non funziona

BluetoothHeadsetServiceJni : Failed to start voice recognition, status: 6 

errore quando chiamo startVoiceRecognition() metodo. Sto usando il codice da questo SO page.

Quali sono i possibili motivi per cui questo problema si verifica solo su alcuni dispositivi? C'è un modo per risolvere questo problema?

risposta

1

Sono stato controllato mentre Narayan ha accennato, ho trovato BluetoothHeadset.STATE_AUDIO_CONNECTED fa fuoco in nexus 7 così come alcuni altri dispositivi ZTE, potrebbe essere questo difetto di fabbricazione o un dispositivo che non supporta la chiamata e si prova a comunicare tramite call_mode, penso che ci sia una soluzione alternativa per risolvere questo problema

3

Utilizzando il suggerimento del ratto scarpa, modificare il metodo di avvio nel collegamento e verificare se funzionerà.

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

È possibile utilizzare 'Build.MODEL' per determinare il modello di destinazione. Cioè, ultima condizione in se il blocco può essere sostituito con '" Nexus 7 ".equals (Build.MODEL)' – ozbek

+0

se lo faccio con nexus 7, potrebbe essere questo problema si verificherà in altri dispositivi, quindi Come posso essere gestito, io non voglio qualche soluzione, voglio solo sapere il motivo dietro a questo problema, perché per aggirare il problema possiamo anche aggiungere il timer sul metodo SucoAudioConnected e funzionerà su tutti i dispositivi quanto ho controllato –

0

Nexus 7 non supporta VoiceRecognition, becuase Nexus 7 non supporta Bluetooth HFP (profilo handsfreee) che contiene VoiceRecognition. È possibile trovare le informazioni Bluetooth del dispositivo in https://www.bluetooth.org/tpg/listings.cfm.

+0

Funziona sul mio nesso 7 ma tramite soluzione alternativa non come normalmente –

+0

Davvero? Stai usando AudioManager.startBluetoothSco() per avviare Bluetooth scoully? –

+0

Sì, sto chiamando suScoAudioConnected(); chiamata metodo su mCountDown11 e ho anche aggiunto un segno di spunta per identificare BluetoothHeadset.STATE_AUDIO_CONNECTED non è stato chiamato, dopodiché funziona quasi in tutti i dispositivi e sono in grado di controllare –