我想从相机捕捉时间流逝。我已经与视频录制合作,并且运行良好。但是当我尝试录制时间延迟视频时,它出错了。从Android相机捕捉时间流逝
这里是我的代码,我想:
mMediaRecorder = new MediaRecorder();
// 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_TIME_LAPSE_HIGH));
// Step 4: Set output file
mMediaRecorder.setOutputFile(String.valueOf(GeneralUtils.getOutputMediaFile(MEDIA_TYPE_VIDEO)));
// Step 5: Set the preview output
mMediaRecorder.setPreviewDisplay(this.getHolder().getSurface());
// Step 6: Prepare configured MediaRecorder
try {
mMediaRecorder.prepare();
} catch (IllegalStateException e) {
Log.d(TAG, "IllegalStateException preparing MediaRecorder: " + e.getMessage());
releaseMediaRecorder();
return false;
} catch (IOException e) {
Log.d(TAG, "IOException preparing MediaRecorder: " + e.getMessage());
releaseMediaRecorder();
return false;
}
录制视频后,当我检查它的大小是0.00B
并不能播放此视频。为什么这不录制视频。
我试了更多,发现一些东西,如果你用CamcorderProfile.QUALITY_HIGH
代替CamcorderProfile.QUALITY_TIME_LAPSE_HIGH
它开始工作。我搜索了一下,发现原因是可能是你的设备不支持QUALITY_TIME_LAPSE_HIGH
。但是,当我打开本机相机应用程序并点击记录时间推移视频时,这是一件奇怪的事情,它工作正常,这意味着我的设备支持QUALITY_TIME_LAPSE_HIGH
。
我的问题是,为什么它不适合我的应用程序。我的代码中有任何错误吗?你能不能让我知道。
不确定这是否会成为运行时权限问题? – SripadRaj
不是这不是任何权限问题。我已经检查了它 – PakDeveloper
对于时间推移视频,你有“setCaptureRate”吗? –