我使用MediaRecorder在Android应用程序中录制音频,然后将文件上传到我的服务器。我这样创建录音机(科特琳):
mediaRecorder = MediaRecorder()
mediaRecorder!!.setAudioSource(MediaRecorder.AudioSource.MIC);
mediaRecorder!!.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mediaRecorder!!.setAudioChannels(1);
mediaRecorder!!.setAudioSamplingRate(22050);
mediaRecorder!!.setOutputFile(filename);
mediaRecorder!!.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
mediaRecorder!!.setMaxDuration(5 * 60 * 1000) // 5 minutes
mediaRecorder!!.setOnInfoListener { _, what, _ ->
if (what == MEDIA_RECORDER_INFO_MAX_DURATION_REACHED) {
stopRecording()
}
}
我可以在Android,本机iOS和Chrome(台式机)上加载和播放文件,但是在iOS和macOS上的Safari上无法运行。
该文件是使用音频/ mpeg内容类型从服务器提供服务的。
我在iOS上也有类似的录制代码,并且该文件也可以作为音频/ mpeg在Safari中正常工作。
有什么想法吗?