- 从提供的错误消息来看,您的设备似乎不支持所选的音频编码器(encoder)。尝试使用不同的音频编码器,看看是否有差异。在设置 MediaRecorder 时,请更改 setAudioEncoder() 的参数。
-
-
- 有以下几种音频编码器可以尝试:
-
-
-
- MediaRecorder.AudioEncoder.DEFAULT
-
- MediaRecorder.AudioEncoder.AMR_NB
-
- MediaRecorder.AudioEncoder.AMR_WB
-
- MediaRecorder.AudioEncoder.AAC
-
- MediaRecorder.AudioEncoder.HE_AAC
-
- MediaRecorder.AudioEncoder.AAC_ELD
不知道该设置什么的时候就设置成 MediaRecorder.AudioEncoder.DEFAULT
mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
错误提示中的“StagefrightRecorder: Invalid output format or encoder”表示您选择的输出格式和音频编码器之一不兼容或不受当前设备的支持。
要解决此问题,请尝试更改音频编码器和输出格式的设置
同理不知道设置什么的时候就设置成:MediaRecorder.OutputFormat.DEFAULT
mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);
如果好没解决,把下面这个也设置一下:
mMediaRecorder .setAudioSource(MediaRecorder.AudioSource.DEFAULT);
但请注意,这种方法可能不是最佳解决方案,具体取决于设备的音频配置。