我一直在尝试为Android编写这个音板,但是当我用后退键退出程序时以及点击另一个声音时,我对如何停止播放声音感到困惑和困惑。我看了很多地方,甚至在Android开发者网站上,我仍然对于该怎么做感到困惑。如果有人能帮助我,我将非常感激。我的MediaPlayer代码即将发布,但如果需要实际的音板代码,我也很乐意发布。
package com.cs.finalfantasysoundboard;
import android.content.Context;
import android.media.MediaPlayer;
public class Music
{
public interface OnCompletionListener {
}
private static MediaPlayer mp = null;
/** Stop old song and start new one */
public static void play (Context context, int resource)
{
stop(context);
mp = MediaPlayer.create(context, resource);
mp.stop();
mp.start();
}
/** Stop the music */
public static void stop(Context context)
{
mp.reset();
mp.release();
mp = null;
}
}
答案 0 :(得分:1)
你可以为正在播放或停止的声音实现一些标志。以下是如何停止Back Key上的声音:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_BACK /*&& event.getRepeatCount() == 0*/)
{
if(!isStopped)
{
stop();
}
//System.exit(0); //if you want to exit directly or this.finish(); etc
return true;
}
return super.onKeyDown(keyCode, event);
}