现在,我正在使用camera(v1)
中的TextureView
显示仅占屏幕一半的预览。我将一些矩阵变换应用于此预览,使其更大并且看起来像是裁剪的。现在,我正在尝试录制用户在此预览中看到的确切内容的视频,但我所管理的只是从相机获取普通视频,而不进行转换。
以下是我录制视频的方式。
private void initRecorder() throws IOException {
File file = (new DirectoryManager(mContext).getNewVideoFile());
if( mMediaRecorder == null ) {
mMediaRecorder = new MediaRecorder();
mCamera = getCurrentCamera();
mCamera.unlock();
//Surface surface = new Surface(surfaceTexture);
mMediaRecorder.setCamera(mCamera);
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT);
mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT);
//mMediaRecorder.setPreviewDisplay(surface);
mMediaRecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH));
mMediaRecorder.setOutputFile(file.getPath());
}
if(!mStartRecording) {
try {
mMediaRecorder.prepare();
mMediaRecorder.start();
mStartRecording = true;
} catch (IOException e) {
e.printStackTrace();
}
} else {
mStartRecording = false;
try {
mMediaRecorder.stop();
mMediaRecorder.reset();
mMediaRecorder.release();
}
catch (Exception e){
e.printStackTrace();
}
mMediaRecorder = null;
}
}
此外,我尝试使用MediaRecorder.VideoSource.SURFACE
代替运气。
任何帮助/提示都将不胜感激。