Android:如何停止这种音乐?

Posted

技术标签:

【中文标题】Android:如何停止这种音乐?【英文标题】:Android: How to stop this music already? 【发布时间】: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;
      
   

有人知道吗?

【问题讨论】:

【参考方案1】:

你需要打电话

Music.stop(this);

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

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

【讨论】:

对不起,我没有说清楚,你的建议有效,但我需要我的音乐来运行活动......这个建议会阻止音乐在下一个活动中运行......?谢谢瓦希德 hi kgiannakakis 你能解决我的问题吗***.com/questions/14544848/…

以上是关于Android:如何停止这种音乐?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 android 的 mediaplayer 中停止和播放新歌曲?

当用户切换到 Android Studio Kotlin 中的其他页面时,如何停止播放音乐?

Android:如何停止其他活动的媒体播放器?

Android MediaPlayer 背景音乐线程随机停止

当用户按下主页按钮时停止 Android 服务

使用Service组件实现简单的音乐播放器功能 --Android基础