Intereting Posts
Способ анализа XML (org.w3c.Document) на Android GCM отправляет изображение вместо сообщения Ионный план действий cancelButton не показан на android Можно ли добавлять onclick-прослушиватели в remoteviews в android Как показать статус выполнения в процентах при загрузке json-данных? Волейбол, не вызывающий getParams () для стандартного запроса POST Странная проблема в веб-обозревателе Android с холстом Что такое расширение файла проекта Android Studio? Синхронизированное воспроизведение звука на отдельных устройствах Android Как отправлять запросы приложений друзьям через Facebook Android SDK MediaPlayer, ProgressBar Программный пакет линейного макета Android Самый быстрый способ рисовать видеофрагмент, декодированный MediaCodec, на экран? Переключение между большим представлением и нормальным представлением для уведомления о программном обеспечении Android с помощью кнопки действия уведомления (Smooth) ScrollToPosition не работает должным образом с RecyclerView

Ручной контроль громкости клиента Bluetooth

У меня есть Android-устройство, действующее как клиентское устройство для рук, использующее hfp.

Используя следующий код:

Я могу получить звонок, и динамики и микрофон работают, как ожидалось.

Моя проблема в том, что я не могу контролировать громкость.

Я попытался использовать следующие строки кода, чтобы найти правильный поток, но ни один из них, похоже, не работает.

Я отслеживал команду тома, отправленную с телефона клиенту в классе HeadsetClientStateMachine , строка # 1822 по следующей ссылке: HeadsetClientStateMachine из lolipop

 case EVENT_TYPE_VOLUME_CHANGED: if (event.valueInt == HeadsetClientHalConstants.VOLUME_TYPE_SPK) { mAudioManager.setStreamVolume(AudioManager.STREAM_BLUETOOTH_SCO, event.valueInt2, AudioManager.FLAG_SHOW_UI); mVgsFromStack = true; Log.d(TAG, "EventVolumeChange STREAM_BLUETOOTH_SCO value: " + event.valueInt2); } 

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

Кто-нибудь знает, что может вызвать эту проблему?

РЕДАКТИРОВАТЬ:

Я все еще ищу ответ, и теперь я смотрю на реализацию аудио HAL. Я подозреваю, что связь между HAL и звуковым драйвером некорректна … Я мало знаю о реализации на низком уровне и не уверен, что я должен искать.

Solutions Collecting From Web of "Ручной контроль громкости клиента Bluetooth"

Не могли бы вы попробовать ниже. Я не пробовал себя, но звучит аналогичная проблема, если я правильно понимаю:

Громкость наушников Bluetooth для Android

« Android использует int 6 для громкости bluetooth и не документирован. Просто используйте 6 вместо AudioManager.STREAM_VOICE_CALL и попробуйте, он должен работать "

Я предполагаю, что вы замените AudioManager.STREAM_BLUETOOTH_SCO на 6.

Удачи, надеюсь, это сработает.