Android multi_touch слушатель - PullRequest
0 голосов
/ 17 мая 2018

Привет, я работаю над Java-приложением для Android, где мне нужно одновременно воспроизводить три разных звука с помощью Soundpool, используя три разные кнопки. ** код на картинке **.Я загрузил звуки в три кнопки, но когда я нажимаю все три кнопки одновременно, звук не воспроизводится.Но это работает, когда я нажимаю две кнопки.Есть какой-либо способ сделать это.

1 Ответ

0 голосов
/ 17 мая 2018

Используйте .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);
    }
...