1. 程式人生 > >android mediaplay的使用中,stop和start的呼叫問題

android mediaplay的使用中,stop和start的呼叫問題

問題描述:當我在使用android自帶音訊播放器時,呼叫了stop方法後,立即在再呼叫它的start方法,發現此時無法播放出聲音。
原因及解決方案:原因是mediaplay的stop方法在釋放資源時需要一定的時間,而它的start方法是執行緒不安全的,即start方法呼叫時沒有去判斷stop方法是否執行完了,導致第二次呼叫start方法時,對mediaplay初始化失敗,自然就播放不出聲音了。解決方法:在呼叫stop方法後,再次呼叫start方法時,給一些延遲,保證stop方法執行完。如:
new Handler().postDelay(()->mediaInstance.start(),1000);