2

我有时(不是每次)在 LogCat 中收到此警告“媒体播放器在发布之前完成”,并且声音仅部分播放(切断)。

我有一项服务CountdownService,我有:

MyApplication appActivity = (MyApplication)this.getApplication();
appActivity.playCountdownComplete();
stopSelf(); // I absolutely must stop the service at this point

在 MyApplication(扩展应用程序)活动中,我有:

public void playCountdownComplete() {
    MediaPlayer mp = MediaPlayer
                     .create(getApplicationContext(), R.raw.sound_complete);
    mp.setOnCompletionListener(new OnCompletionListener() {
        @Override
        public void onCompletion(MediaPlayer mp) {
            mp.release();
        }
    });
    mp.start();
}

我绝对必须在我调用的地方停止服务,stopSelf();因为我的应用程序依赖于未运行的服务,所以请不要提供改变它的解决方案。

为什么声音不能完全播放?- 应用程序活动正在播放声音,所以即使服务停止,也没有关系,对吧?

编辑:我还尝试让服务发送广播,应用程序活动接收它并在那里播放声音,但仍然发生同样的事情。

4

0 回答 0