Soundpool音量不变

时间:2017-04-29 07:28:35

标签: android audio soundpool

我有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,以便有人可以查看所有代码吗?这样做是否安全'?)

1 个答案:

答案 0 :(得分:1)

使用此代码启动烘干机 -

dryerStreaming = mySound.play(dryerId, (float) dryerVol, (float) dryerVol, 1, -1, 1);

然后我应该用 -

来控制音量
mySound.setVolume(dryerStreaming, (float) dryerVol, (float) dryerVol);