Android:按“主页”或“后退”按钮停止播放

发布于 2024-09-19 00:27:33 字数 79 浏览 6 评论 0原文

当我在应用程序中按“返回”或“主页”时,它会隐藏,但 MediaPlayer 会继续运行。有没有办法知道这些按钮何时被按下并在关闭之前停止播放?

When I press back or home in my application, it hides, but the MediaPlayer keeps going. Is there a way to know when these buttons have been pressed and stop playback before closing?

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

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

发布评论

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

评论(3

情场扛把子 2024-09-26 00:27:33

只需在媒体播放器调用的类中实现此方法...

@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) 
    {
        if ((keyCode == KeyEvent.KEYCODE_BACK)) 
        { //Back key pressed
           //Things to Do
            if(mediaPlayer!= null)
            {
                mediaPlayer.stop();
                mediaPlayer=null;
            }
            finish();
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }

just implement this method in your class where media player is calling...

@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) 
    {
        if ((keyCode == KeyEvent.KEYCODE_BACK)) 
        { //Back key pressed
           //Things to Do
            if(mediaPlayer!= null)
            {
                mediaPlayer.stop();
                mediaPlayer=null;
            }
            finish();
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }
同尘 2024-09-26 00:27:33

您应该能够重写 Activity 中的 onPause() 函数。当您隐藏 Activity 时,将调用 onPause(),并且您可以在那里暂停 MediaPlayer

例如,

@Override
protected void onPause() {
    super.onPause(); // Don't forget this line
    myMediaPlayer.pause() // Or whatever the function is to pause it
}

You should be able to override the onPause() function in your Activity. onPause() will be called when you Activity is hidden and you can pause the MediaPlayer there.

For example,

@Override
protected void onPause() {
    super.onPause(); // Don't forget this line
    myMediaPlayer.pause() // Or whatever the function is to pause it
}
怪我鬧 2024-09-26 00:27:33

不要忘记添加 super.onPause;如果忘记的话会导致 FC。

Don't forget to add super.onPause; if you forget it will cause a FC.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文