How can I make android mediaplayer play sound?
android, java, media-player
Solution
You certainly do not want to Start and then Stop right away..
The problem is that you are executing these right after each other:
mp.start(); // starts playback
mp.stop(); // .. then stops immediately ..
mp.release();
You should call start, and then when the sound is done playing, release. You can use the Completion event to hook up a listener and release there:
mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener(){
public void onCompletion(MediaPlayer player) {
player.release();
}
})
Problem
I don't know why it doesn't works, there is no error logged in logcat, but I cannot hear a sound. ``` public static void DeclararSonido(int numero, Context contexto){ switch(numero){ case 0: mp = MediaPlayer.create(contexto, R.raw.alan); break; } } public static void TocarPiedra( int posicion, Context contexto){ DeclararSonido(posicion, contexto); mp.start(); mp.stop(); mp.release(); } public static void TocarSirena(Context contexto){ MediaPlayer mp2= MediaPlayer.create(contexto, R.raw.doh); mp2.start(); mp2.stop(); mp2.release(); } ``` If I erase `mp2.stop();` and `mp2.release();` AND `mp.stop();` and `mp.release();` the app plays the sound, but the file is not released...