我想在没有预览的情况下录制视频但是当我尝试启动时出现此错误消息:"启动失败:-38"
我的代码是(我使用了我在这里找到的代码来帮助我https://code.google.com/p/google-glass-api/issues/detail?id=360):
// Step 1: Unlock and set camera to MediaRecorder
mCamera.unlock();
mMediaRecorder.setCamera(mCamera);
// Step 2: Set sources
mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
// Step 3: Set a CamcorderProfile (requires API Level 8 or higher)
mMediaRecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH));
// Step 4: Set output file
mMediaRecorder.setOutputFile(getOutputMediaFile(MEDIA_TYPE_VIDEO)
.toString());
// Step 5: Set the preview output
// mMediaRecorder.setPreviewDisplay(mPreview.getHolder().getSurface());
// Step 6: Prepare configured MediaRecorder
try {
mMediaRecorder.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// Step 7: Start recording
mMediaRecorder.start(); // HERE it fails
感谢您的帮助
答案 0 :(得分:0)
以下是您的回答:MediaRecorder start failed: -38
另一个应用程序(可能是你的?)正在同时使用媒体录制器。
答案 1 :(得分:0)
在我的情况下,我试图使用一些相机参数获得高fps(仅适用于最近的三星手机,在S6上测试):
parameters.set("fast-fps-mode", 2); // 2 for 120fps
parameters.setPreviewFpsRange(120000, 120000);
但在尝试使用此错误录制时,我总是会出现黑屏:
E / MediaRecorder:开始失败:-38
解决方案只是添加:
parameters.setRecordingHint(true);
希望它可以提供帮助。