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);
    }
Другие вопросы по тегам