Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SurfaceTexture Android Camera2_Java_Android - Fatal编程技术网

Java SurfaceTexture Android Camera2

Java SurfaceTexture Android Camera2,java,android,Java,Android,晚安 有人知道一种创建表面纹理的方法,就好像它是可以通过方法getSurfaceTexture()使用TextureView获得的一样 我正在尝试使用Api camera2录制代码,而无需预览(只需使用按钮),但使用我在不使用纹理的情况下创建的surfaceTexture查看我录制的视频通常持续5秒左右,然后视频的其余时间就是冻结帧。(我使用的mPreview大小是通过google示例中的chooseOptimalSize()获得的,该示例使用手机屏幕的宽度和高度作为尺寸) SurfaceTex

晚安

有人知道一种创建表面纹理的方法,就好像它是可以通过方法getSurfaceTexture()使用TextureView获得的一样

我正在尝试使用Api camera2录制代码,而无需预览(只需使用按钮),但使用我在不使用纹理的情况下创建的surfaceTexture查看我录制的视频通常持续5秒左右,然后视频的其余时间就是冻结帧。(我使用的mPreview大小是通过google示例中的chooseOptimalSize()获得的,该示例使用手机屏幕的宽度和高度作为尺寸)

SurfaceTexture纹理=新的SurfaceTexture(0);
setDefaultBufferSize(mPreviewSize.getWidth(),mPreviewSize.getHeight());
mPreviewBuilder=mCameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_记录);
列表曲面=新的ArrayList();
曲面预览曲面=新曲面(纹理);
曲面。添加(预览曲面);
mPreviewBuilder.addTarget(previewSurface);
//设置MediaRecorder的表面
曲面记录器Surface=mMediaRecorder.getSurface();
表面。添加(记录器表面);
mPreviewBuilder.addTarget(recorderSurface);
mTextureView.getSurfaceTexture()
SurfaceTexture texture = new SurfaceTexture(0);
texture.setDefaultBufferSize(mPreviewSize.getWidth(),mPreviewSize.getHeight());
mPreviewBuilder = mCameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_RECORD);
List<Surface> surfaces = new ArrayList<>();


Surface previewSurface = new Surface(texture);
surfaces.add(previewSurface);
mPreviewBuilder.addTarget(previewSurface);


// Set up Surface for the MediaRecorder
Surface recorderSurface = mMediaRecorder.getSurface();
surfaces.add(recorderSurface);
mPreviewBuilder.addTarget(recorderSurface);