Мой MediaRecorder вызывает зависание пользовательского интерфейса при вызове release (). эта ошибка возникает только на API 23 и менее. Я попытался поместить его в работоспособное и кэшируемое исключение. Я следил за документацией и несколькими руководствами в Интернете, но пользовательский интерфейс все еще зависает при выпуске ().
в трассировке журнала нет ошибок, что делает эту ошибку даже странной
это мой код :
fun startRecord(path:String)
{audioRecorder = MediaRecorder().apply {
setAudioSource(MediaRecorder.AudioSource.MIC)
setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP)
setOutputFile(path)
setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB)
try {
prepare()
} catch (e: IOException) {
Log.e("record_log", "prepare() failed")
}
start()
}
}
fun stopRecording(){
if(audioRecorder!=null){
try{audioRecorder!!.stop()
}
catch (e:RuntimeException){}
finally {
audioRecorder!!.release()
audioRecorder=null
}
}
}