мое приложение вылетает при попытке запустить Mediarecorder. он падает только на уровне 19 уровня API. Я пытался поймать исключение, но оно не работает.
recorder = MediaRecorder().apply {
setAudioSource(MediaRecorder.AudioSource.MIC)
setOutputFormat(MediaRecorder.OutputFormat.MPEG_4)
setOutputFile(fileName)
setAudioEncoder(MediaRecorder.AudioEncoder.AAC)
try {
prepare()
} catch (e: IOException) {
Log.e(LOG_TAG, "prepare() failed")
}
try {
start()
} catch (e: IOException) {
Log.e(LOG_TAG, "start() failed")
}
}
log надеюсь, что я не пропустил ничего другого:
03-13 01:51:03.352 3384-3384/com.example E/MediaPlayer: Should have subtitle controller already set
03-13 01:51:04.212 1179-1303/? E/AudioRecord: Could not get audio input for record source 1
03-13 01:51:04.212 1179-1303/? E/StagefrightRecorder: audio source is not initialized
03-13 01:51:04.212 3384-3384/com.example E/MediaRecorder: start failed: -2147483648
03-13 01:51:04.212 3384-3384/com.example D/AndroidRuntime: Shutting down VM
03-13 01:51:04.212 3384-3384/com.example W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x9cd04b20)
03-13 01:51:04.212 1176-1218/? D/gralloc_ranchu: gralloc_alloc: Creating ashmem region of size 1323008
03-13 01:51:04.212 3384-3384/com.example E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example , PID: 3384
java.lang.RuntimeException: start failed.
at android.media.MediaRecorder.start(Native Method)
at com.example .main.sendAudio.SendAudioFragment.startRecording(SendAudioFragment.kt:358)
at com.example .main.sendAudio.SendAudioFragment.access$startRecording(SendAudioFragment.kt:46)
at com.example .main.sendAudio.SendAudioFragment$onCreateView$4.onFinish(SendAudioFragment.kt:194)
at android.os.CountDownTimer$1.handleMessage(CountDownTimer.java:118)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5017)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)