【问题标题】:Stop music player on device home button android在设备主页按钮 android 上停止音乐播放器
【发布时间】:2014-04-24 00:10:27
【问题描述】:

我有一个 android 应用程序,我在其中尝试为特定活动播放背景声音(声音将在单个活动上播放,而不是在整个应用程序上播放)。 我正在使用此代码启动 MediaPlayer

MediaPlayer backMP = MediaPlayer.create(this, R.raw.theme_loop);
backMP.setLooping(true);
backMP.start(); 

它工作正常,但我只想在按下主页按钮时停止音乐,我已经尝试过了 backMP.release(), backMp.stop() in onPause() 方法对我来说没什么用。

【问题讨论】:

  • 您可以将代码发布到您的活动中吗?两个建议的答案都是有效的。

标签: android event-handling android-mediaplayer android-homebutton


【解决方案1】:

在 onDestroy、onStop 和 onPause 中都使用backMP.stop,它将解决您的问题

【讨论】:

    【解决方案2】:

    这样用

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event)
    {
        if(keyCode == KeyEvent.KEYCODE_HOME)
        {
            Log.d("Test", "Home button pressed!");
            backMP.stop(); 
        }
        return super.onKeyDown(keyCode, event);
    }
    

    或者你可以像这样使用 onResume() 开始播放

    @Override
        protected void onResume() {
            super.onResume();
                       backMP.start(); 
                        }
    

    然后像这样在 onpouse() 中停止

      @Override
          protected void onPause() {
        // TODO Auto-generated method stub
        super.onPause();
            backMP.stop(); 
         }
    

    【讨论】:

    • 我认为这行不通,Android 不允许您捕获 Home 键事件。关于恶意内容...
    • 最好使用 OnPause。并在应用程序重新打开时重新开始播放。
    • 如果我对此发表评论,那么它会在完成声音后自动停止。它只是为了重复声音。
    猜你喜欢
    • 1970-01-01
    • 2020-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多