Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kotlin 当我在模拟器上录制音频时,每次按下停止按钮,应用程序就会崩溃_Kotlin_Audio Recording - Fatal编程技术网

Kotlin 当我在模拟器上录制音频时,每次按下停止按钮,应用程序就会崩溃

Kotlin 当我在模拟器上录制音频时,每次按下停止按钮,应用程序就会崩溃,kotlin,audio-recording,Kotlin,Audio Recording,这是我的录音课 class RecordAudio { private var mediaRecorder = MediaRecorder() private var mediaPlayer = MediaPlayer() var output = Environment.getExternalStorageDirectory().absolutePath + "/recording.mp3" //private var path = Environment.getExte

这是我的录音课

class RecordAudio {
private var mediaRecorder =  MediaRecorder()
private var mediaPlayer = MediaPlayer()
var output = Environment.getExternalStorageDirectory().absolutePath + "/recording.mp3"
//private var path = Environment.getExternalStorageDirectory().toString() + "/myRec.3gp"
//private var audioFilePath = Activity().getExternalFilesDir(null)?.absolutePath
//private var isRecording = true
private lateinit var timer: Chronometer
fun recordAudio() {
    //val recordName = "filename.3gp"
    mediaRecorder = MediaRecorder()
    mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC)
    mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP)
    mediaRecorder.setOutputFile(output)
    mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB)
    mediaRecorder.setAudioChannels(1)
    mediaRecorder.setAudioSamplingRate(8000)
    mediaRecorder.prepare()
    mediaRecorder.start()
}

fun stopRecording() {
    mediaRecorder.stop()
    mediaRecorder.reset()
    mediaRecorder.release()
        timer.stop()
}
}

下面是显示的运行时异常 java.lang.IllegalStateException 在android.media.MediaRecorder.stop(本机方法)