我在android中的媒体录制器有问题。我收到错误,因为启动失败-22。
这是我使用的代码:
final MediaRecorder recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile(path);
try {
recorder.prepare();
recorder.start();
} catch (Exception e) { Log.d(TAG, "Exception : " + e); }调试时,logcat中的原因为null。
请给我一些建议。
发布于 2017-01-11 14:10:06
我也遇到了同样的问题,我试着从play商店安装了一个录音机来检查。它也不允许我录制VOICE_CALL。由此,我意识到一些设备制造商并不支持这一点。因此,如果设备不支持VOICE_CALL,请用麦克风录音。
发布于 2014-10-16 18:04:46
op建议的权限对我不起作用,可能是因为它不存在:)
如果出现此错误,请检查设置媒体录像机的方式。在我的例子中,它只在一些设备上失败了。我对运行Os version > API 10的所有设备执行此操作:
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_WB);
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_WB);事实证明,故障设备正在运行JB,但不支持宽带,因此将其更改为原始/窄带有效:
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.RAW_AMR);
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);发布于 2012-06-22 15:29:27
根据实际海报的评论...他在评论中提出了他的答案。把这个放到一个实际的答案中,希望它能帮助其他人:
OP添加了以下权限,他的代码对他来说工作得很好:
<uses-permission android:name="android.permission.STORAGE" />
https://stackoverflow.com/questions/10007834
复制相似问题