Почему я не могу воспроизвести звук с помощью SoundPool?

Я использую следующий код:

button.setOnClickListener(new View.OnClickListener(){
                @Override
                public void onClick(View v){
                    AudioAttributes at = new AudioAttributes.Builder().setContentType(AudioAttributes.CONTENT_TYPE_MUSIC).setUsage(AudioAttributes.USAGE_NOTIFICATION).build();
                    SoundPool sp = new SoundPool.Builder().setMaxStreams(2).setAudioAttributes(at).build();
                    int sonido = sp.load(reserva.this,R.raw.sound_gracias,1);
                    sp.play(sonido,1,1,1,0,1);
                }
            });

Проблема:

Когда я нажимаю кнопку, я не слышу звука (мультимедийный звук у меня на 100%).

Это звук, который я использую:

https://freesound.org/people/HoseNoseSounds/sounds/510735/

Что я могу сделать, чтобы решить эту проблему?

Большое спасибо за чтение!


person Tomas M    schedule 25.03.2020    source источник
comment
Я считаю, что load() — это асинхронная операция, поскольку в SoundPool есть OnLoadCompleteListener. Итак, вам просто нужно немного подождать, прежде чем звонить play().   -  person Markus Kauppinen    schedule 25.03.2020
comment
Итак, что бы вы сделали, чтобы решить эту проблему?   -  person Tomas M    schedule 25.03.2020
comment
Я бы настроил SoundPool, т.е. загружал звуки заранее, а не в обработчик кнопок, может быть, например, в методе Activity onCreate()   -  person Markus Kauppinen    schedule 25.03.2020
comment
В основном дубликат: Вызов SoundPool Thead onClickEvent   -  person Markus Kauppinen    schedule 25.03.2020