天天看點

[置頂] 我的Android進階之旅------>Android解決異常: startRecording() called on an uninitialized AudioRecord.

今天使用AudioRecord進行錄音操作時候,報了下面的異常。

E/AndroidRuntime(22775): java.lang.IllegalStateException: startRecording() called on an uninitialized AudioRecord.

根據異常提示,需要android.permission.RECORD_AUDIO權限,原來是少配置了權限。

在AndroidManifest.xml中配置權限即可。

PS: 轉眼過去那麼久,Android 系統已經更新到了Android 7.x 系列了,在Android 6.0 系統之後就增加了運作時權限處理機制,是以有可能你在AndroidManifest.xml中配置了錄音(RECODE_AUDIO)權限也沒有用,移入會報此錯誤。這個時候你需要在代碼中先判斷是否錄音(RECODE_AUDIO)權限授權了再使用AudioRecord做相關操作。如果沒有授權,請做授權的相關操作,然後再回調方法中再判斷是否授權成功,如果授權成功再使用AudioRecord做相關操作。否則會報錯的。

運作時權限相關參考文檔:

<a target="_blank" href="http://blog.csdn.net/lmj623565791/article/details/50709663">http://blog.csdn.net/lmj623565791/article/details/50709663</a>

<a target="_blank" href="http://blog.csdn.net/yanzhenjie1003/article/details/52503533/">http://blog.csdn.net/yanzhenjie1003/article/details/52503533/</a>

<a target="_blank" href="http://www.jianshu.com/p/e1ab1a179fbb">http://www.jianshu.com/p/e1ab1a179fbb</a>

讀者可以參考上述連結,為APP增加運作時權限處理機制。

        ====================================================================================

  作者:歐陽鵬  歡迎轉載,與人分享是進步的源泉!

====================================================================================

[置頂] 我的Android進階之旅------&amp;gt;Android解決異常: startRecording() called on an uninitialized AudioRecord.

繼續閱讀