我正在录制音频。以下代码正常工作,直到API level 25
。
但是在录制音频时,像素设备(API level 27)(8.1.0)
版本中的异常媒体记录器启动失败。
这是我的代码。
private void startRecording() {
recorder = new MediaRecorder();
if (Build.VERSION.SDK_INT <= 22) {
recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL);
} else {
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
}
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile(getFilename());
recorder.setOnErrorListener(errorListener);
recorder.setOnInfoListener(infoListener);
try {
recorder.prepare();
recorder.start();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
尝试检查您是否具有录制权限:android.permission.RECORD_AUDIO
并确保应用程序在运行时允许所请求的权限。