2014-09-04 1 views
10

Мне нужно использовать Bluetooth-гарнитуру с распознаванием голоса, которая почти отлично работает на некоторых устройствах, таких как S3, S4 и Samsung Grand. Однако, когда я попробовал то же самое на Nexus 7, я получаюstartVoiceRecognition с Bluetooth-гарнитурой не работает

BluetoothHeadsetServiceJni : Failed to start voice recognition, status: 6 

ошибку, когда я звоню startVoiceRecognition() метод. Я использую код из этого SO page.

Каковы возможные причины возникновения этой проблемы только на некоторых устройствах? Есть ли способ решить эту проблему?

ответ

1

Я был проверен, как упоминал Нарайан, я обнаружил, что BluetoothHeadset.STATE_AUDIO_CONNECTED срабатывает в Nexus 7, а также в некоторых других устройствах ZTE, может быть, это ошибка в работе или это устройство не поддерживает вызов, и вы пытаетесь установить связь через 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

+0

, если я делаю с nexus 7, может быть, эта проблема возникнет в других устройствах, так что как я могу управлять, я не хочу любой обходной путь, я просто хочу знать причину этой проблемы, потому что для обхода мы также можем добавить таймер на метод onScoAudioConnected, и он будет работать на всех устройствах столько, сколько я проверил –

0

Nexus 7 не поддерживает VoiceRecognition, becuase Nexus 7 не поддерживает Bluetooth HFP (профиль handsfreee), который содержит VoiceRecognition. Информацию о Bluetooth устройства можно найти в https://www.bluetooth.org/tpg/listings.cfm.

+0

Его работа над моей связью 7, но через обходное решение не так обычно –

+0

Действительно? Вы используете AudioManager.startBluetoothSco(), чтобы запустить Bluetooth sco manully? –

+0

Да, я вызываю onScoAudioConnected(); метод call на mCountDown11 заканчивается, и я также добавил чек, чтобы идентифицировать BluetoothHeadset.STATE_AUDIO_CONNECTED не был вызван, после этого он работает почти во всех устройствах, насколько я могу проверить –

Смежные вопросы