Boa Tarde!!
Sou iniciante em java e começei a brincar com apps Android,
Estou utilizando a class mediaplayer para executar sons. A app é bem simples, sao varios imagebuttons com fotos de animais e cada um que clica, solta um som do animal correspondente
porem no decorrer do uso da app a mesma comeca ficar lenta e trava o telefone, so tirando a bateria… oque pode ser?
abaixo meu codigo
package iti.sons.animais;
import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ImageButton;
public class SonsDeAnimaisActivity extends Activity {
/** Called when the activity is first created. */
MediaPlayer player = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
PreparaBotoes();
}
private void PreparaBotoes()
{
ImageButton ImgCachorro = (ImageButton) findViewById(R.id.ImgCachorro);
ImgCachorro.setOnClickListener(new ImageButton.OnClickListener(){
public void onClick(View v) {
int i = ExecAudio( R.raw.cachorro);
}
});
ImageButton ImgCavalo = (ImageButton) findViewById(R.id.imgcavalo);
ImgCavalo.setOnClickListener(new ImageButton.OnClickListener(){
public void onClick(View v) {
int i = ExecAudio( R.raw.cavalo);
}
});
ImageButton ImgGato = (ImageButton) findViewById(R.id.ImgGato);
ImgGato.setOnClickListener(new ImageButton.OnClickListener(){
public void onClick(View v) {
int i = ExecAudio( R.raw.gato);
}
});
ImageButton ImgLeao = (ImageButton) findViewById(R.id.ImgLeao);
ImgLeao.setOnClickListener(new ImageButton.OnClickListener(){
public void onClick(View v) {
int i = ExecAudio( R.raw.leao);
}
});
ImageButton ImgElefante = (ImageButton) findViewById(R.id.ImgElefante);
ImgElefante.setOnClickListener(new ImageButton.OnClickListener(){
public void onClick(View v) {
int i = ExecAudio( R.raw.elefante);
}
});
}
public int ExecAudio(int resid)
{
player = MediaPlayer.create(this, resid);
player.start();
try {
Thread.sleep(player.getDuration()+500);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
player.stop();
player.release();
player=null;
return 1;
}
}
