1
resposta

SoundPool deprecated

Olá pessoal,

Fui adicionar o som no jogo, mas o Android Studio marcou a classe SoundPool para deprecated. Qual a classe que devemos utilizar?

public class SoundPool { /* @deprecated /

Abs

1 resposta

O mais adequado é utilizar a classe MediaPlayer:

import android.media.AudioManager;
import android.media.MediaPlayer;
.
.
.
// Obtendo referência do som
AssetFileDescriptor afd = getApplicationContext().getResources().openRawResourceFd(R.raw.som_musica_1);
// criando configuração (som, volume esquerda, volume direita)
MediaPlayerConfig config = new MediaPlayerConfig(afd, 0.25f, 0.25f); 

mediaPlayer.reset();

try {
    mediaPlayer.setDataSource(config.datasource.getFileDescriptor(), config.datasource.getStartOffset(), config.datasource.getLength());
    mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
    mediaPlayer.setLooping(true);
    mediaPlayer.setVolume(config.volumeLeft, config.volumeRight);

    mediaPlayer.prepare();

    mediaPlayer.start();
} catch (IllegalArgumentException e) {
    e.printStackTrace();
} catch (IllegalStateException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software