帮助/困惑MediaPlayer for Android?

时间:2011-08-16 03:00:26

标签: android android-mediaplayer

我一直在尝试为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;
    }
}

1 个答案:

答案 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);
}