应用程序关闭时如何停止我的MediaPlayer的声音?

时间:2017-02-25 21:36:48

标签: android audio media-player main-activity

我有三个问题。

  1. 当我切换/关闭应用程序/活动时,我怎么能停止MediaPlayer的声音?

  2. 当我按下sound2时,怎么办声音1停止?

  3. 如何在一个按钮上停止播放声音?我的意思是,当我按下button1一次然后声音开始,当我再次按下它时声音停止,依此类推。

  4. 我已经尝试了但是没有用。

    这是我的MainActivity:

    add a QVBoxLayout as the top control, then add a QHBoxLayout and a QTabWidget. Then add your picture widget and a QTextEdit to the QHBoxLayout.
    

    你能告诉我如何解决我的问题吗?

    我是Android Studio上的新手,对不起我的英语不好意见:)

2 个答案:

答案 0 :(得分:0)

答案似乎很简单:保留对媒体播放器的引用。就目前而言,您每次都会创建一个新的MediaPlayer。但是你也应该小心MediaPlayer状态,这非常挑剔。

采取此示例流程:

  • 启动应用> [mp = null,b = false,w = false]
  • 点击按钮1 > [mp = instance1,b = true,w = false]> [instance1正在播放]
  • 点击按钮2 > [mp = instance2,b = true,w = true]> [instance1正在播放,instance2正在播放]
  • 点击按钮1 > [mp = instance2,b = false,w = true]> [instance1正在播放,instance2已停止]
  • 暂停应用> [mp = instance2,b = false,w = true]> [instance1正在播放,instance2已停止]

当您暂停时,release()您的媒体播放器也很重要

答案 1 :(得分:0)

首先参阅这篇文章 https://developer.android.com/guide/topics/media/mediaplayer.html#mediaplayer

1

public void onDestroy() {
     if (mp!=null) {
          mp.stop();
          mp.release();
     }
}

2

//Stop media player
mp.stop();
// Set data source of sound 2
mp.setDataSource(url2);
mp.prepare(); 
mp.start();

3

//Pause the sound
mp.pause();
//Resume the sound
mp.start();