最新回答 / 夏Jue
你應(yīng)該不是指觸發(fā)onLongClick后還延遲吧。如果不是的話,那就是正常現(xiàn)象。因?yàn)榈谝灰却齩nLongClick觸發(fā)需要時(shí)間。第二要等待MediaRecorder ?prepare完成需要一點(diǎn)點(diǎn)時(shí)間。
2017-06-02
第一:Dialog不顯示的問題: 個(gè)人在經(jīng)過調(diào)試之后發(fā)現(xiàn),AudioManager類的prepareAudio()方法里,到mMediaRecorder.prepare(); mMediaRecorder.start();之前都不會(huì)出錯(cuò),而問題就出在這里,我們按住Ctrl點(diǎn)進(jìn)去prepare()和start()這兩個(gè)方法里會(huì)發(fā)現(xiàn)他們一共拋出來兩個(gè)異常IllegalStateException, IOException,而我們的代碼是統(tǒng)一捕獲Exception,所以我嘗試兩個(gè)分開捕獲并明確捕獲的異常類型結(jié)果OK,Dialog可以正常顯示出來。至于什么原因,我暫時(shí)還沒弄懂。
2017-03-26
第二:關(guān)于UP后報(bào)錯(cuò)的問題:
在經(jīng)過個(gè)人調(diào)試之后發(fā)現(xiàn),問題出在AudioManager的release()方法里,這個(gè)方法里調(diào)用了兩個(gè)原生的方法stop()和release(),我們同樣按住Ctrl點(diǎn)進(jìn)去stop()會(huì)發(fā)現(xiàn)這個(gè)方法拋出了一個(gè)IllegalStateException,而我們?cè)谡{(diào)用這個(gè)方法的時(shí)候并沒有捕獲,于是我try catch處理,運(yùn)行,OK。
以上是本人在處理這兩個(gè)問題的方案,希望
在經(jīng)過個(gè)人調(diào)試之后發(fā)現(xiàn),問題出在AudioManager的release()方法里,這個(gè)方法里調(diào)用了兩個(gè)原生的方法stop()和release(),我們同樣按住Ctrl點(diǎn)進(jìn)去stop()會(huì)發(fā)現(xiàn)這個(gè)方法拋出了一個(gè)IllegalStateException,而我們?cè)谡{(diào)用這個(gè)方法的時(shí)候并沒有捕獲,于是我try catch處理,運(yùn)行,OK。
以上是本人在處理這兩個(gè)問題的方案,希望
2017-03-26