Java – how to make Android media player play sound?
•
Java
I don't know why it doesn't work. There are no recording errors in logcat, but I can't hear the 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 application plays a sound, but the file is not published
Solution
Of course you don't want to start right away and then stop right away
The problem is that you are following these steps:
mp.start(); // starts playback mp.stop(); // .. then stops immediately .. mp.release();
You should call start and release it when the sound finishes playing You can use completion event to hook up the listener and release it there:
mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener(){
public void onCompletion(MediaPlayer player) {
player.release();
}
})
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码
