CameraCaptureSession getInputSurface
时间: 2024-04-04 16:32:37 浏览: 20
CameraCaptureSession的getInputSurface()方法返回一个Surface对象,用于将预览数据提供给编码器,以便进行录制或者流传输。
使用getInputSurface()方法获取输入Surface对象的步骤如下:
1. 创建一个CaptureRequest.Builder对象,并设置想要的参数,例如图像分辨率、帧率等。
2. 在CaptureRequest.Builder对象中调用addTarget(Surface surface)方法,将Surface对象作为预览数据的目标。
3. 调用CameraDevice的createCaptureSession(List<Surface> outputs, CameraCaptureSession.StateCallback callback, Handler handler)方法创建CameraCaptureSession对象。
4. 在CameraCaptureSession.StateCallback的onConfigured(CameraCaptureSession session)回调方法中,获取输入Surface对象,使用session.getInputSurface()方法即可。
5. 将输入Surface对象提供给编码器,以便进行录制或者流式传输。
需要注意的是,使用getInputSurface()方法获取输入Surface对象时,需要在CameraCaptureSession创建成功之后才能调用该方法,并且需要保证CameraDevice已经开启预览。另外,输入Surface对象只能用于编码器的输入,不能用于输出。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)