【发布时间】:2017-05-24 11:06:03
【问题描述】:
我正在开发视频录制应用程序,我想在其中显示预览,当用户单击录制按钮时它开始录制,当用户单击停止按钮时它停止录制。
我得到了摄像头预览,后置摄像头工作正常。
但是当我将摄像头翻转到前置摄像头并开始录制时,会出现如下错误:
FATAL EXCEPTION: main java.lang.RuntimeException: start failed.
at android.media.MediaRecorder.start(Native Method) at
com.opkix.app.fragments.CameraFragment.startRecording(
CameraFragment.java:104)
这是我录制视频的代码:
private boolean prepareMediaRecorder() {
// set the orientation here to enable portrait recording.
mediaRecorder = new MediaRecorder();
mCamera.unlock();
mediaRecorder.setCamera(mCamera);
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mediaRecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH));
mediaRecorder.setOutputFile(StorageUtils.getOutputMediaFilePath());
mediaRecorder.setMaxDuration(120000); // Set max duration 60 sec.
mediaRecorder.setMaxFileSize(100000000); // Set max file size 50Mb
mediaRecorder.setPreviewDisplay(mPreview.getHolder().getSurface());
try {
mediaRecorder.prepare();
} catch (IllegalStateException e) {
releaseMediaRecorder();
return false;
} catch (IOException e) {
releaseMediaRecorder();
return false;
}
return true;
}
谁能提出解决方案?
【问题讨论】:
-
还可以在您的应用程序中使用其他一些方法。这有助于根据您的应用程序进行视频录制..[例如释放相机和媒体记录器]。因为不使用该方法录制将使您的应用程序崩溃。
-
@shmosel 您好,我已经尝试过这些解决方案,但这些解决方案适用于后置和前置摄像头,但我只面向前置摄像头。你能建议我更好的解决方案吗?
-
检查此问题是否与您的@Semo 问题相同。 stackoverflow.com/questions/12474330/…