Android multi_touch слушатель
Привет, я работаю над Java-приложением для Android, где мне нужно одновременно воспроизводить три разных звука с помощью Soundpool, используя три разные кнопки. ** код на картинке **. Я загружал звуки в три кнопки, но когда я нажимаю все три кнопки, звук не воспроизводится. Но это работает, когда я нажимаю две кнопки. Есть какой-либо способ сделать это.
1 ответ
Использование .setMaxStreams(int maxStreams)
внутри SoundPool.Builder()
метод. Как это работает на API 21 или выше, поэтому вам нужно установить условие. т.е.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { // lollipop is constant for api 21
AudioAttributes audioAttributes = new AudioAttributes.Builder() // using instance of audio attributes
.setUsage(AudioAttributes.USAGE_ASSISTANCE_SONIFICATION) // different usage types, press CTRL+B & we get to it's declaration, and we see the description of usage types.
.setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
.build();
soundPool = new SoundPool.Builder()
.setMaxStreams(10) // Sets the maximum of number of simultaneous streams
// that can be played simultaneously.
.setAudioAttributes(audioAttributes)
.build();
}
else{
soundPool = new SoundPool(10, AudioManager.STREAM_MUSIC, 0);
}