问题描述
我正在尝试使用 MediaRecorder
来允许用户在我的应用中录音。我确实设法记录并保存了文件,但是当我通过保存文件的文件夹访问该文件时,该文件无法播放。有关执行以下操作的最佳做法的任何建议:
1.如何使用MediaRecorder
2.是否可以选择使用 MediaRecorder
访问在运行时录制的语音?(为了在其上应用语音转文本)。
*我过去已经使用过 SpeechRecognition
,但我想要一个 API,在使用 SpeechRecognition
进行录音时不会出现众所周知的哔哔声
我的 MediaRecorder
初始化:
val direPath: String = requireContext().getExternalFilesDir(null)!!.absolutePath
val filePath: String = direPath + "/recording"
val audioFile = File(filePath)
recorder = MediaRecorder()
recorder.apply {
setAudioSource(MediaRecorder.AudioSource.MIC);
setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setMaxDuration(5000)
recorder.setOnInfoListener(object : MediaRecorder.OnInfoListener {
override fun onInfo(p0: MediaRecorder?,p1: Int,p2: Int) {
if (p1 == MediaRecorder.MEDIA_RECORDER_INFO_MAX_DURATION_REACHED){
stopRecording()
}
Log.i(TAG,"onInfoListener-> $p1 + $p2")
}
})
recorder.setOnErrorListener(object : MediaRecorder.OnErrorListener {
override fun onError(p0: MediaRecorder?,p2: Int) {
Log.e(TAG,"onErrorListener-> $p1 + $p2")
}
})
setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
setOutputFile(audioFile);
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)