第一:Dialog不顯示的問(wèn)題: 個(gè)人在經(jīng)過(guò)調(diào)試之后發(fā)現(xiàn),AudioManager類的prepareAudio()方法里,到mMediaRecorder.prepare(); mMediaRecorder.start();之前都不會(huì)出錯(cuò),而問(wèn)題就出在這里,我們按住Ctrl點(diǎn)進(jìn)去prepare()和start()這兩個(gè)方法里會(huì)發(fā)現(xiàn)他們一共拋出來(lái)兩個(gè)異常IllegalStateException, IOException,而我們的代碼是統(tǒng)一捕獲Exception,所以我嘗試兩個(gè)分開(kāi)捕獲并明確捕獲的異常類型結(jié)果OK,Dialog可以正常顯示出來(lái)。至于什么原因,我暫時(shí)還沒(méi)弄懂。
2017-03-26
第二:關(guān)于UP后報(bào)錯(cuò)的問(wèn)題:
在經(jīng)過(guò)個(gè)人調(diào)試之后發(fā)現(xiàn),問(wè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í)候并沒(méi)有捕獲,于是我try catch處理,運(yùn)行,OK。
以上是本人在處理這兩個(gè)問(wèn)題的方案,希望
在經(jīng)過(guò)個(gè)人調(diào)試之后發(fā)現(xiàn),問(wè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í)候并沒(méi)有捕獲,于是我try catch處理,運(yùn)行,OK。
以上是本人在處理這兩個(gè)問(wèn)題的方案,希望
2017-03-26
showRecordingDialog()方法寫的不好啊 我覺(jué)得初始化應(yīng)該寫在構(gòu)造方法里啊 不然一直new Dialog會(huì)很卡
2017-03-23