【问题标题】:music pause when app killed when using service使用服务时应用程序终止时音乐暂停
【发布时间】:2018-03-07 13:55:20
【问题描述】:

我正在使用Service 类在后台播放音乐。当我在顶部显示通知栏时,我的应用程序出现问题。当我终止应用程序时,音乐停止大约 1 秒钟,然后重新开始。我不知道是什么问题。

我正在关注this 教程。

public class MyMusicService extends Service {

    MediaPlayer mediaPlayer;

    @Nullable
    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }

    public MyMusicService() {
        super();
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {

        if (mediaPlayer!= null)
        {
            mediaPlayer.release();
        }
        mediaPlayer =MediaPlayer.create(this,R.raw.song);
        mediaPlayer.setLooping(true);
        mediaPlayer.start();

         return START_STICKY;
    }

    @Override
    public void onDestroy() {
        super.onDestroy();

            mediaPlayer.stop();


    }
}

【问题讨论】:

  • 尝试调用 mediaplayer.stop();在 super.onDestroy(); 之前
  • @MATex 尝试但没有帮助
  • 曾经遇到过这个问题。。我强烈建议你为音频应用使用默认的Android服务,这样系统不会杀死你的应用......你必须仔细阅读和写作很多代码,但它会解决你所有的问题。这是来自音乐播放应用程序的长期而痛苦的体验:)。 developer.android.com/guide/topics/media-apps/audio-app/…
  • @HedShafran 谢谢,但我现在只是在音乐播放器的帮助下测试我的代码,我找不到错误
  • 如你所愿...这就是解决我当时的错误的方法,这也是一个非常好的做法:)

标签: android service push-notification


【解决方案1】:

在您的主要活动上使用 onTaskRemoved 并在此事件上释放您的媒体播放器。

【讨论】:

    【解决方案2】:

    该教程向您展示了如何构建一个后台服务,该服务可能会被系统杀死。要播放音乐,您应该使用 FOREGROUND 服务。

    https://developer.android.com/guide/components/services.html#Foreground

    【讨论】:

      【解决方案3】:

      根据:https://developer.android.com/reference/android/app/Service.html 改变

      START_STICKY
      

      START_NOT_STICKY
      

      编辑:

      音乐停止一段时间的问题与您在同一进程中运行应用程序和服务的事实有关。而“杀死应用程序”意味着停止绑定到它的整个过程。您需要做的是在单独的进程中运行您的服务:

      Start a service in a separate process android

      【讨论】:

      • 我也试过了,但是当应用程序被杀死时音乐停止了,......无论如何,谢谢
      • 哦,我坚信这正是您想要的。那么到底有什么问题呢?您根本不想停止音乐吗?
      • no....即使我终止了应用程序,音乐也应该继续播放......并且它正在播放,但是当我终止应用程序时,我会在音乐再次开始前暂停 1 秒
      • @AvadaKedavra 因为你的服务很粘
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多