Android Studio MediaPlayer

12/09/2019

0

Bom dia Pessoal, sou iniciante na programação, estou tentando fazer um app para minha filha e estou com um problema.

O app possui várias imagens de personagens e a cada clique no personagem inicia um som, acontece que não estou conseguindo fazer o som parar ao clicar novamente na imagem, toda vez que é clicado é iniciado o som e fica vários rodando ao mesmo tempo.

Alguém pode me ajudar?


package adivinha.cursoandroid.curso.oliviapintadinha;

import android.app.Activity;
import android.content.res.AssetFileDescriptor;
import android.media.MediaPlayer;
import android.net.Uri;
import android.provider.MediaStore;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;

import com.google.android.gms.appindexing.Action;
import com.google.android.gms.appindexing.AppIndex;
import com.google.android.gms.common.api.GoogleApiClient;

public class MainActivity extends Activity implements View.OnClickListener {

    private ImageView galinha;
    private ImageView pintinho;
    private ImageView galo;
    private ImageView borboletinha;
    private ImageView sapo;
    private ImageView olivia;

    private MediaPlayer mediaPlayer;

    private GoogleApiClient client;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        galinha = (ImageView) findViewById(R.id.galinha);
        pintinho = (ImageView) findViewById(R.id.pintinho);
        galo = (ImageView) findViewById(R.id.galo);
        borboletinha = (ImageView) findViewById(R.id.borboletinha);
        sapo = (ImageView) findViewById(R.id.sapo);
        olivia = (ImageView) findViewById(R.id.olivia);

        galinha.setOnClickListener(this);
        pintinho.setOnClickListener(this);
        galo.setOnClickListener(this);
        borboletinha.setOnClickListener(this);
        sapo.setOnClickListener(this);
        olivia.setOnClickListener(this);

   
        client = new GoogleApiClient.Builder(this).addApi(AppIndex.API).build();
    }


    @Override
    public void onClick(View v) {


        switch (v.getId()) {
            case R.id.galinha:
                mediaPlayer = MediaPlayer.create(MainActivity.this, R.raw.galinha);
                if (mediaPlayer.isPlaying()){
                    pausarSom();}
                else {
                tocarSom();}

                break;

            case R.id.pintinho:
                mediaPlayer = MediaPlayer.create(MainActivity.this, R.raw.pintinho);
                tocarSom();
                break;
            case R.id.galo:
                mediaPlayer = MediaPlayer.create(MainActivity.this, R.raw.galo);
                if (mediaPlayer.isPlaying()){
                    pausarSom();}
                else {
                    tocarSom();}
                break;
            case R.id.borboletinha:
                mediaPlayer = MediaPlayer.create(MainActivity.this, R.raw.borboletinha);
                if (mediaPlayer.isPlaying()){
                    pausarSom();}
                else {
                    tocarSom();}
                break;
            case R.id.olivia:
                mediaPlayer = MediaPlayer.create(MainActivity.this, R.raw.olivia);
                if (mediaPlayer.isPlaying()){
                    pausarSom();}
                else {
                    tocarSom();}
                break;
            case R.id.sapo:
                mediaPlayer = MediaPlayer.create(MainActivity.this, R.raw.sapo);
                if (mediaPlayer.isPlaying()){
                    pausarSom();}
                else {
                    tocarSom();}
                break;
        }
    }

    private void tocarSom() {
        if (mediaPlayer != null) {

            mediaPlayer.start();
        }

    }


    private void pausarSom() {
        if (mediaPlayer != null) {

            mediaPlayer.pause();
        }

    }


    @Override
    protected void onDestroy() {

        if (mediaPlayer != null && mediaPlayer.isPlaying()) {
            mediaPlayer.stop();
            mediaPlayer.release();
            mediaPlayer = null;
        }

        super.onDestroy();
    }

}
Bruno

Bruno

Responder

Posts

13/09/2019

Carlosr

Onde você está levando o som, o som deve ser um bom áudio ripiado, como os obtidos por baixar music do soundcloud com
https://pt.savefrom.net/12-como-baixar-áudio-soundcloud.html
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar