Java Android录制预览视频
现在,我正在使用Java Android录制预览视频,java,android,video,Java,Android,Video,现在,我正在使用TextureView中的camera(v1)显示一个只占屏幕一半的预览。我对这个预览应用了一些矩阵变换,使它更大,看起来更粗糙。现在我正试图录制一段用户在预览中看到的视频,但我所能做的只是从相机中获取一段正常的视频,而无需进行转换 下面是我如何录制视频的 private void initRecorder() throws IOException { File file = (new DirectoryManager(mContext).getNewVideoFile(
TextureView中的camera(v1)
显示一个只占屏幕一半的预览。我对这个预览应用了一些矩阵变换,使它更大,看起来更粗糙。现在我正试图录制一段用户在预览中看到的视频,但我所能做的只是从相机中获取一段正常的视频,而无需进行转换
下面是我如何录制视频的
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
来代替它,运气也一样
如有任何帮助/提示,我们将不胜感激。您是否正在录制屏幕?像截屏视频吗?不,我的预览只占屏幕的一半(我将添加它作为编辑),我不想只录制它。录制屏幕(或其中的一部分)会很困难。自从棒棒糖,有一个MediaProjectionAPI,我从来没有使用过它,但也许这可以帮助: