Soundpool 音量不变
Soundpool volume not changing
我有 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 和体积似乎都没有问题,为什么体积没有变化?
如果您需要查看其他内容,请告诉我。 (我可以 link 到 github 这样有人可以检查所有代码吗?是 'safe' 吗?)
烘干机使用此代码启动 -
dryerStreaming = mySound.play(dryerId, (float) dryerVol, (float) dryerVol, 1, -1, 1);
然后我应该用 -
控制音量
mySound.setVolume(dryerStreaming, (float) dryerVol, (float) dryerVol);
我有 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 和体积似乎都没有问题,为什么体积没有变化?
如果您需要查看其他内容,请告诉我。 (我可以 link 到 github 这样有人可以检查所有代码吗?是 'safe' 吗?)
烘干机使用此代码启动 -
dryerStreaming = mySound.play(dryerId, (float) dryerVol, (float) dryerVol, 1, -1, 1);
然后我应该用 -
控制音量mySound.setVolume(dryerStreaming, (float) dryerVol, (float) dryerVol);