我有一个Android设备充当免提客户端设备使用hfp。 使用下面的代码: 我能够接到电话,扬声器和麦克风按预期工作。 我的问题是,我似乎无法控制音量。 我尝试使用下面的代码行来find正确的stream,但没有一个似乎工作。 我跟踪了从手机发送给客户端的音量命令HeadsetClientStateMachine ,行#1822在以下链接: HeadsetClientStateMachine from 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()方法,但音量不会改变。 有谁知道什么可能导致这个问题? 编辑: 我仍然在寻找答案,现在正在寻找audioHAL实现。 我怀疑,HAL和audio驱动程序之间的链接是不正确的…我不太了解低层次的实现,我不知道我应该寻找什么。