在MediaRecorder中使用ConstrainedHighSpeedCaptureSession和setCaptureRate进行慢动作视频录制

时间:2019-09-24 08:52:35

标签: android android-camera2

我正在为相机示例应用程序使用相机API 2。我从Google示例https://github.com/googlearchive/android-Camera2Video开始,然后使用从以下提到的链接和GitHub代码库获得的知识对其进行了更改:

  1. Android capturing slow motion video

  2. How to implement SlowMotion and TimeLapse video recording using Camera API

  3. Access high fps camera on Android

  4. https://pastebin.com/LVdYkWFR

  5. https://github.com/thesleort/Android-Slow-Motion-Camera2/blob/master/java/CaptureHighSpeedVideoMode.java

要谈论链接4和5中的代码,除了startPreview()方法之外,两个文件中的代码几乎相同。一个使用常规捕获会话,即cameraDevice.createCaptureSession()进行预览,另一个使用cameraDevice.createConstrainedHighSpeedCaptureSession()进行预览。如果我使用createConstrainedHighSpeedCaptureSession()进行预览,则可以在一个设备上使用,而不能在其他设备上使用,如果我使用createCaptureSession()进行预览,则第一个设备将使用空白的白色预览,第二个设备可以正常进行预览。最后,录制只是行不通,并抛出IllegalStateException

我对正确配置相机的方式感到困惑,以便预览和视频捕获都适用于CameraConstrainedHighSpeedCaptureSession类型120或更高的fps捕获会话。我知道setCaptureRate()将帮助我进行慢动作录制。但是我的要求是> 30 fps捕获。

0 个答案:

没有答案