我有一个Android设备作为一个免提客户端设备使用hfp。
我可以接到一个电话,扬声器和麦克风工作正如预期。
我的问题是,我似乎无法控制音量。
我试着使用下面的代码行找到正确的流,但没有一个似乎工作。
我跟踪了从电话发送到客户端的类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()方法,但卷不会更改。
有谁知道什么可能是导致这个问题?
编辑:
我仍然在寻找一个答案,我现在寻找的音频HAL实现。我怀疑HAL和音频驱动程序之间的链接是不正确的…我不知道很多低级实现,不知道我应该寻找什么。