2014-09-04 305 views
10

我需要使用具有語音識別功能的藍牙耳機,它在S3,S4和三星Grand等一些設備中幾乎可以正常工作。然而,當我試圖在Nexus 7一樣,我越來越start藍牙耳機無法識別

BluetoothHeadsetServiceJni : Failed to start voice recognition, status: 6 

錯誤,當我打電話startVoiceRecognition()方法。我正在使用這個SO page的代碼。

只有在某些設備上纔會出現此問題的可能原因是什麼?有什麼辦法可以解決這個問題嗎?

回答

1

我一直在檢查Narayan提到的,我發現BluetoothHeadset.STATE_AUDIO_CONNECTED在nexus 7以及其他一些中興通訊設備中會觸發,可能這是manufature故障或該設備不支持通話,並且您嘗試通過call_mode,我認爲只有解決方法才能解決此問題

3

用鞋大鼠的建議,修改鏈接中的啓動方法,看看它是否會奏效。

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

您可以使用'Build.MODEL'來確定目標模型。這就是說,如果塊可以替換爲「Nexus 7」.equals(Build.MODEL)' – ozbek 2014-09-10 23:09:59

+0

如果我使用nexus 7,可能會在其他設備上發生此問題,所以我可以如何管理,我不會想要任何解決方法,我只想知道這個問題背後的原因,因爲解決方法,我們也可以添加計時器完成onScoAudioConnected方法,它將在所有設備上工作儘可能多我檢查 – 2014-09-11 09:47:23

0

的Nexus 7不支持VoiceRecognition,監守的Nexus 7不支持藍牙HFP誰包含VoiceRecognition(handsfreee配置文件)。 您可以在https://www.bluetooth.org/tpg/listings.cfm找到設備藍牙信息。

+0

其工作在我的nexus 7,但通過解決方法不是通常是 – 2014-09-16 06:28:13

+0

真的嗎?您是否使用AudioManager.startBluetoothSco()手動啓動藍牙sco? – 2014-09-16 07:43:46

+0

是的,我打電話給onScoAudioConnected();方法調用mCountDown11完成,我還添加了一個檢查來識別BluetoothHeadset.STATE_AUDIO_CONNECTED沒有被調用,之後它的工作幾乎在所有設備中儘可能多地檢查 – 2014-09-16 07:54:07