2013-08-19 2 views
1

Прежде чем мы перейдем к деталям, немного контекст:Android Bluetooth SCO с Nissan автомобильный радиоприемник

  • автомобилей: Nissan Note (UK 2011 Model)
  • Устройство: Nexus 4
  • ОС: Android 4.3 Stock

Я пытаюсь создать приложение для распознавания речи и синтеза речи в своем автомобиле, когда телефон подключен через Bluetooth. Автомобильная аудиосистема не обеспечивает его собственного распознавания голоса, но вместо этого передает это на телефон, инициируя намерение android.intent.action.VOICE_COMMAND

Приложение по умолчанию на устройстве для обработки этого приложения Google Search, которое имеет определенную деятельность для громкой связи. Это приложение имеет ужасное распознавание речи, но демонстрирует, как система должна работать - при активации на дисплее автомобиля отображается «Актив распознавания голоса» на экране телефона во время работы приложения, а затем скрывается, когда приложение выходит.

Проблема заключается в том, что, хотя я могу сделать этот ярлык появлением, вызвав AudioManager.startBluetoothSco() и таким образом воспроизвести звук через автомобильные динамики и записать его через автомобильный микрофон, но AudioManager.stopBluetoothSco() не отключает этот режим в автомобиле, и он продолжает отображать «Актив распознавания голоса». Это проблема, поскольку автомобиль не будет запускать приложение до тех пор, пока соединение Bluetooth не будет закрыто и не будет открыто.

Мои эксперименты подтвердили, что это AudioManager.startBluetoothSco(), который разрешает режим в автомобиле, и что AudioManager.stopBluetoothSco(), похоже, влияет на изменение окружающего звука, создаваемого автомобилем (очень слабое шипение обычно слышится, когда активная аудиосистема будет остановлена, когда выдается эта команда), но никакого другого эффекта не видно.

Я не уверен, что что-то еще активировано неявным образом с вызовом AudioManager.startBluetoothSco(), который затем должен быть неявно остановлен, но в настоящее время у меня нет идей о том, что попробовать.

ответ

2

После намного большего исследования я наткнулся на это: http://developer.android.com/reference/android/bluetooth/BluetoothHeadset.html#stopVoiceRecognition%28android.bluetooth.BluetoothDevice%29 , который, как представляется, связан с проблемой. После вызова функции startVoiceRecognition и stopVoiceRecognition, как оказалось, все, казалось, вернулось в нормальное состояние.

+0

Добро пожаловать в StackOverflow. Цените, что вы нашли время, чтобы ответить на свой вопрос! Фактически, вы должны отметить свой ответ как принятый ответ, чтобы другие знали, что он работает. – StackOverflowed

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