我有8种不同的Soundpool噪音,它们都有自己的搜寻条来控制音量。我有日志显示,数字正在按所需的方式从搜索栏更改,但音量在90%的时间内没有变化(奇怪的是偶尔会起作用)。
这是设置音量的onCreate中的代码-
dryerVolumeControl.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
double dryerVol = (double) progress / (double) maxVolume;
Log.i("Dryer Volume", String.valueOf(dryerId) + " " + String.valueOf((float) dryerVol));
mySound.setVolume(dryerId, (float) dryerVol, (float) dryerVol);
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
Log.i("Dryer Volume", "On stop touching");
mySound.setVolume(dryerId, (float) dryerVol, (float) dryerVol);
}
});
我在可能的情况下添加了onStop代码。烘干机的ID和音量似乎都还可以,为什么音量不会改变?
如果您需要查看其他内容,请告诉我。 (我可以链接到github以便某人可以检查所有代码吗?那是“安全的”吗?)
最佳答案
烘干机使用以下代码启动-
dryerStreaming = mySound.play(dryerId, (float) dryerVol, (float) dryerVol, 1, -1, 1);
然后,我应该使用-
mySound.setVolume(dryerStreaming, (float) dryerVol, (float) dryerVol);