Поскольку у меня возникли проблемы с воспроизведением небольшого 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);
а это был тот же уровень, есть идеи, как заставить его играть на определенной громкости? Это странно, потому что кажется, что я не принимаю плавающие звуки, которые я вставил.
EDIT:
Я инициализирую следующим конструктором
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);
}