所遇到的问题 1、音频播放完成后 播放完成监听回调
public void onCompletion(MediaPlayer mp) {}
方法走了两次。
2、点击再次重新播放时,报
IllegalStateException
错误。
3、销毁activity时依然报2中的错误。
首先贴出一个工具类的部分代码
//单例
public static VoiceMediaPlayer getInstance(){
if(instance==null){
synchronized (VoiceMediaPlayer.class){
if(instance==null){
instance=new VoiceMediaPlayer();
}
}
}
return instance;
}
//初始化
public void initMediaPlayer(){
if(mediaPlayer==null){
mediaPlayer=new MediaPlayer();
}
mediaPlayer.setVolume(1.0f,1.0f);
mediaPlayer.setLooping(false);
}
//停止播放
public void stopMediaPlayer(){
mediaPlayer.stop();
mediaPlayer.reset();
}
//播放
public void play(final String path, final MediaPlayer.OnCompletionLi

在使用MediaPlayer实现音频播放功能时,遇到播放完成回调重复、重新播放报错以及Activity销毁时的错误。问题主要集中在MediaPlayer的reset()方法使用不当。解决方案包括在播放完成回调中避免调用reset(),在重新播放前调用reset(),以及在Activity销毁时正确释放MediaPlayer资源。
最低0.47元/天 解锁文章
3077

被折叠的 条评论
为什么被折叠?



