我正在尝试制作可以控制蓝牙音量的Android应用程序。到目前为止,我设法改变了通话的蓝牙音量值。使用这段代码:
audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
int streamMaxVolume = audioManager.getStreamMaxVolume(6);
int lVol = ((volumeValue / 100) * streamMaxVolume);
audioManager.setStreamVolume(6, lVol, 0);
现在我遇到的问题是我找不到为蓝牙媒体卷分配的streamType的int
值。
好吧,我找到了答案。看起来像蓝牙设备连接到手机后。为了更改蓝牙媒体音量,应用程序应该等待一段时间。我设置了我的方法在10秒后运行它的代码。这里是 :
public void strat(BtDevice btDevice){
new Timer().schedule(
new TimerTask() {
@Override
public void run() {
AudioManager audioManager = (AudioManager) myContex.getSystemService(Context.AUDIO_SERVICE);
int volumeValue = btDevice.getMusicVolume();
int streamMaxVolume = audioManager.getStreamMaxVolume(3);
int lVol = ((volumeValue / 100) * streamMaxVolume);
audioManager.setStreamVolume(3, lVol, AudioManager.FLAG_SHOW_UI);
}
},
10000
);