【问题标题】:Resuming music in android在android中恢复音乐
【发布时间】:2016-10-06 07:52:28
【问题描述】:

按主页按钮,然后按最近列表中的应用程序后,音乐不会恢复。请对给出的代码进行必要的更改。

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onPause() {
        super.onPause();
        mySound.release();
    }

    @Override
    protected void onResume() {
        super.onResume();
        if(mySound != null)
            mySound.start();
    }

    MediaPlayer mySound;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mySound = MediaPlayer.create(MainActivity.this,R.raw.sleep);
        mySound.start();
        mySound.setLooping(true);
    }
}

【问题讨论】:

标签: java android android-mediaplayer onresume


【解决方案1】:

首先看看How to ask a Good Question on SO

其次阅读How to Add code in SO

现在回答你的问题。问题出在你ActivityonPause()方法上,改成就行了。

@Override
protected void onPause() {
    super.onPause();
    if (mySound != null)
        mySound.pause();
}

只有在您不再需要 MediaPlayer 时才调用 release()。来自安卓docs

无效释放()

释放与此 MediaPlayer 对象关联的资源。它是 使用完后调用此方法被认为是一种好习惯 媒体播放器。

所以改用pause()

void pause()

暂停播放。调用 start() 来恢复。

看看MediaPlayer的状态图

图表所代表的是可以OK使用MediaPlayer对象的有效状态。

【讨论】:

  • requirements=当我按下主页按钮时音乐应该暂停,当我从最近的应用程序列表中打开应用程序时,音乐应该从暂停的地方继续。
  • @Anvaypancholiya 为我工作。当您说“不工作”时,您是什么意思?
  • 表示音乐不会从关闭的地方继续播放
  • @Anvaypancholiya 为我工作。我得到了 onResume 的播放,并且从我离开的时候开始播放恢复。再次通读答案并重新检查您的代码。如果这没有帮助,请发布带有您的问题的Minimal Complete and Verifiable Example
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多