帮助/对 Android 版 MediaPlayer 感到困惑?

发布于 2024-11-29 18:07:12 字数 794 浏览 1 评论 0原文

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

I been trying to program this soundboard for android but I'm stuck and confused on how to stop a sound from playing when I exit the program with the back key and also when clicking on another sound. I've looked all over the place and even on the android developer website an I'm still confused on what to do. If someone could please help me out i'll greatly appreciate it. My MediaPlayer code im going to post but if the actually soundboard code is needed i'll be happy to post that also.

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;
    }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

脸赞 2024-12-06 18:07:12

您可以为正在播放或停止的声音实现一些标志。以下是如何通过后退键停止声音:

 @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);
}

you can implement some flags for sound being played or stopped etc. Here is how you can stop the sound on 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);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文