【问题标题】:Android: How to stop this music already?Android:如何停止这种音乐?
【发布时间】:2011-06-09 05:22:02
【问题描述】:

我创建了一个应用程序和一些背景音乐。

结果 = 成功

问题是.. -.- 如果应用接到电话,音乐仍在播放并播放,而不是用户的原始铃声。 另外,如果在手机上选择了“主页”按钮。活动退出但音乐仍在播放?

如果选择了手机上的“返回”按钮,我设法退出了音乐。

除了 24/7 全天候播放的音乐。

我用的是。

应用程序中的一个菜单选项,当用户选择“菜单”时,会弹出一个选项列表和一个选择“设置...”的选项 如果用户选择“设置...”,则会弹出一个偏好对话框以选中或取消选中音乐(开/关) 结果 = 成功

音乐在整个应用程序中播放,从一个活动到另一个活动。

这是我的应用程序中的媒体播放器代码。

@Override
protected void onPause() {
    super.onPause();
    }


@Override
protected void onResume() {
super.onResume();
Music.play(this, R.raw.bgmusic);
}



public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        moveTaskToBack(true);
        finish(); 
        Music.stop(this);
        return true; 
    }
    return super.onKeyDown(keyCode, event);
}

这是我的音乐.java

public class Music {
   private static MediaPlayer mp = null;

   /** Stop old song and start new one */

   public static void play(Context context, int resource) {
      stop(context);

      // Start music only if not disabled in preferences
      if (Prefs.getMusic(context)) {
         mp = MediaPlayer.create(context, resource);
         mp.setLooping(true);
         mp.start();
      }
   }



   /** Stop the music */
   public static void stop(Context context) { 
      if (mp != null) {
         mp.stop();
         mp.pause();
         mp.release();
         mp = null;
      }
   }
}

有人知道吗?

【问题讨论】:

    标签: java android media-player phone-call


    【解决方案1】:

    你需要打电话

    Music.stop(this);
    

    在 onPause 方法中。当从您的一项活动切换到另一项活动时,这可能会产生即时故障的影响。

    另请阅读this 问题和接受的答案。

    【讨论】:

    • 对不起,我没有说清楚,你的建议有效,但我需要我的音乐来运行活动......这个建议会阻止音乐在下一个活动中运行......?谢谢瓦希德
    • hi kgiannakakis 你能解决我的问题吗stackoverflow.com/questions/14544848/…
    猜你喜欢
    • 2021-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-12
    相关资源
    最近更新 更多