Уровень громкости звукового пула

Поскольку у меня возникли проблемы с воспроизведением небольшого файла .wav с помощью MediaPlayer, я переключился на SoundPool. Пока кажется, что он работает лучше, чем MediaPlayer, но проблема, с которой я сталкиваюсь, - это уровень звука, который должен составлять 0,5 от уровня звука системы.

я пробовал с

soundPool.play(currentSoundId, 0.5f, 0.5f, 1, 0, 1);

и он все еще был на том же уровне звука, я также пробовал с

int streamId = soundPool.play(currentSoundId, 1, 1, 1, 0, 1);
soundPool.setVolume(streamId, 0.5f, 0.5f);

и это был такой же уровень, есть идеи, как заставить играть его на определенной громкости? Это странно, потому что кажется, что он не принимает никаких поплавков для звука, который я вставляю.

Обновлено:

я инициализирую следующим конструктором

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP){

            audioAttributes = new AudioAttributes.Builder()
                    .setContentType(AudioAttributes.CONTENT_TYPE_MUSIC)
                    .setUsage(AudioAttributes.USAGE_GAME)
                    .build();

            soundPool = new SoundPool.Builder()
                    .setAudioAttributes(audioAttributes)
                    .setMaxStreams(2)
                    .build();
        }else{
            soundPool = new SoundPool(2, AudioManager.STREAM_MUSIC,0);
        }
1
0
372
2

Ответы 2

Вам стоит начать использовать ExoPlayer, у него более жесткий API, чем у MediaPlayer и SoundPool. Вы можете найти его здесь, ExoPlayer.

Имеет setVolume(float) api Посмотреть еще здесь

ExoPlayer - это слишком много для того, что мне нужно, потому что мне нужно запускать звук только при нажатии на кнопку.

HyperX 13.11.2018 12:05

Используете ли вы старый конструктор SoundPool с потоком AudioManager.STREAM_MUSIC или более подходящий SoundPool.Builder? Если используется Builder, какие атрибуты AudioAttributes передаются при инициализации?

Какую модель Android и версию Android вы используете для тестирования?

Onix 13.11.2018 12:32

Это не отвечает на вопрос.

greeble31 13.11.2018 21:22

Другие вопросы по теме