Android 重新初始化mediaplayer后OnCompletionListener不工作
如果mySound没有更改,代码可以正常工作。但是当mySound发布并重新初始化后,代码就不再有效了。谷歌引用: 使用MediaPlayer后,应调用release(),以释放 资源。如果不发布,将导致太多MediaPlayer实例 在例外情况下 调用Android 重新初始化mediaplayer后OnCompletionListener不工作,android,media-player,Android,Media Player,如果mySound没有更改,代码可以正常工作。但是当mySound发布并重新初始化后,代码就不再有效了。谷歌引用: 使用MediaPlayer后,应调用release(),以释放 资源。如果不发布,将导致太多MediaPlayer实例 在例外情况下 调用release()后,如果需要再次使用,必须创建MediaPlayer的新实例并重新初始化,还包括setOnCompletionListener mySound.setOnCompletionListener(new OnCompletionLi
release()
后,如果需要再次使用,必须创建MediaPlayer
的新实例并重新初始化,还包括setOnCompletionListener
mySound.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
mp.release();...
}
似乎在重新初始化后,未设置
setOnCompletionListener
。当然它不会工作,因为您已经创建了一个新的引用,并且必须重新初始化。请您的答案解释一下为什么此代码会回答这个问题?仅代码的答案是,因为它们不会教授解决方案。即使重置media player,也需要重新设置
mPlayer.release();
mPlayer = null;
mPlayer = new MediaPlayer();
...
mPlayer.setOnCompletionListener(new OnCompletionListener()
{
@Override
public void onCompletion(MediaPlayer mp)
{
}
});