Autore Topic: Effetti audio  (Letto 58 volte)

Offline d4®io

  • Nuovo arrivato
  • *
  • Post: 29
  • Respect: 0
    • Mostra profilo
Effetti audio
« il: 09 Aprile 2018, 10:20:58 CEST »
0
Ciao ragazzi, mi domandavo se per “file audio di piccole dimensioni” basta impostare setLooping(false) e audio.start() o è necessario inserire da qualche parte release();

Ad esempio io ho fatto in questa maniera, ho creato una classe a parte che riceve il context e un intero, poi in base al valore seleziono il file audio:

Codice (Java): [Seleziona]
switch (track) {
       case 1:
              mp = MediaPlayer.create(context, R.raw.click);
              if(mp != null) {
                  mp.setLooping(false);
                  mp.start();
                  }
              break;
       ...

Lo chiedo perché testando mi sembra che non funzioni come dovrebbe, a volte non noto alcun problema, altre sì (non viene riprodotto il suono).

Post unito: 09 Aprile 2018, 11:19:13 CEST
Apportando questa modifica credo di aver risolto il problema, almeno così sembra...

Codice (Java): [Seleziona]
switch (track) {
                case 1:
                    mp = MediaPlayer.create(context, R.raw.click);
                    if(mp != null) {
                        initMp(mp);
                    }
                    break;
...

Ho creato questo metodo che gestisce l'audio...
Codice (Java): [Seleziona]
private void initMp(MediaPlayer mediaPlayer) {

        mediaPlayer.start();

        mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
            @Override
            public void onCompletion(MediaPlayer mp) {
                mp.stop();
                mp.release();
            }
        });
    }
« Ultima modifica: 09 Aprile 2018, 11:19:13 CEST da d4®io, Reason: Merged DoublePost »