调用 stop() 和 release() android 后声音不会停止
Posted
技术标签:
【中文标题】调用 stop() 和 release() android 后声音不会停止【英文标题】:Sound does not stop after calling stop() and release() android 【发布时间】:2012-04-22 14:52:23 【问题描述】:我有一个活动,它会在分数屏幕上循环播放一首简单的歌曲,具体取决于玩家在我的游戏中是赢还是输。但是,在退出我的 Score Activity 后,声音会继续循环,直到发生垃圾回收。以下是我的代码的 sn-ps。我目前强制垃圾收集停止声音!为什么 stop() 或 release() 不起作用?
public void onPause()
super.onPause();
_sounds.release();
public void load()
_victory = MediaPlayer.create(mActivity, R.raw.victory);
_victory.setLooping(true);
_failure = MediaPlayer.create(mActivity, R.raw.flutedeath);
_failure.setLooping(true);
public void release()
_victory.stop();
_victory.release();
_victory = null;
_failure.stop();
_failure.release();
_failure = null;
System.gc();
【问题讨论】:
【参考方案1】:您是否尝试过使用类似这样的 OnCompletionListener:
try
mp = MediaPlayer.create(this, fileId);
mp.start();
mp.setOnCompletionListener(new OnCompletionListener()
public void onCompletion(MediaPlayer mp)
mp.release();
mp = null;
);
catch (Exception exception)
【讨论】:
如果 MediaPlayer 没有循环播放,您的建议有效。然而,在我的三星 Galaxy SII 上,声音继续像以前一样循环,尽管 stop() 和 release()。以上是关于调用 stop() 和 release() android 后声音不会停止的主要内容,如果未能解决你的问题,请参考以下文章
Record, Pause, and Stop Traces
[Docker] Run, Stop and Remove Docker Containers
postgresql server start and then immediately stop
make: *** No targets specified and no makefile found. Stop.错误
nginx-1.11.10 download, install, start and stop
linux make: *** No targets specified and no makefile found. Stop.