问题描述:当我在使用android自带音频播放器时,调用了stop方法后,立即在再调用它的start方法,发现此时无法播放出声音。
原因及解决方案:原因是mediaplay的stop方法在释放资源时需要一定的时间,而它的start方法是线程不安全的,即start方法调用时没有去判断stop方法是否执行完了,导致第二次调用start方法时,对mediaplay初始化失败,自然就播放不出声音了。解决方法:在调用stop方法后,再次调用start方法时,给一些延迟,保证stop方法执行完。如:
原因及解决方案:原因是mediaplay的stop方法在释放资源时需要一定的时间,而它的start方法是线程不安全的,即start方法调用时没有去判断stop方法是否执行完了,导致第二次调用start方法时,对mediaplay初始化失败,自然就播放不出声音了。解决方法:在调用stop方法后,再次调用start方法时,给一些延迟,保证stop方法执行完。如:
new Handler().postDelay(()->mediaInstance.start(),1000);
本文介绍了在使用Android MediaPlayer时遇到的问题:调用stop方法后立即调用start方法无法播放声音。解析了问题的原因并提供了解决方案:通过延迟start方法的调用来确保stop方法完全执行。
1095

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



