【问题标题】:Android - Switch between front and back camera while recording a videoAndroid - 录制视频时在前后摄像头之间切换
【发布时间】:2018-01-09 16:51:00
【问题描述】:

我正在尝试实现自定义相机来录制视频。我关注了This sample,它运行良好。

现在,我想通过单击按钮添加 “切换相机” 功能。即使正在录制视频,它也应该能够在前置/后置摄像头之间切换

因此请帮助我知道这是否可能??

1.如果是,那么如何?

2。如果没有,请提出一些解决方法??

一些示例代码或链接会很有帮助...

注意:我一直在谷歌上搜索并找到了一些 StackOverFlow 答案,例如

Android Camera2 API switch back - front cameras

Android: Switch camera when button clicked

但这些都没有提供在录制视频时切换相机的功能

请帮忙。

代码与This sample相同。它就是 Camera2 API

【问题讨论】:

  • 不可能,因为CameraCaptureSessionCameraDevice 连接并且前后摄像头是不同的设备...您可以尝试录制另一个文件,然后在用户停止录制后,将文件与某些文件合并媒体库
  • 你找到解决办法了吗?

标签: android android-layout video android-camera android-camera2


【解决方案1】:

就我而言,那个摄像头是设备,@Selvin 解释说前后摄像头是不同的设备。现在让我从第一个开始,

某些设备具有自己的功能,您可以在视频录制过程中切换摄像头。例如 Nexus 9For more detail please refer this question.

使用 MediaRecorder 的另一种方法。您可以像这个问题的答案一样实施。 how to switch between front and back camera when using MediaRecorder android?

我对此没有更多的想法,但是如果您想这样做,请这样做:-

1. 当您使用后置摄像头录制视频并切换到前置摄像头时,将该视频临时保存在本地并使用前置摄像头加注星标。
2. 现在停止视频录制,然后将这两个文件合并并保存为单个文件..

【讨论】:

  • 感谢您的回复。我会检查链接,尝试解决方案并通知您。
  • 确定让我知道你会得到你的解决方案吗?
  • 我找不到完美的解决方案,因此我接受了您的解决方案。
  • 你好。您是否设法在不保存不同文件然后合并它们的情况下解决它? @iMDroid
【解决方案2】:
camera = Camera.open(currentCameraId);
// Pass 0 And 1 currentCameraId
setCameraDisplayOrientation(CameraActivity.this, currentCameraId, camera);
try {

    camera.setPreviewDisplay(previewHolder);
} catch (IOException e) {
    e.printStackTrace();
}
camera.startPreview();
}

【讨论】:

  • 这个是打开摄像头,不是切换。请再次阅读问题。
  • 基于按钮点击传递值 0 和 1 。这个答案是用于切换相机并根据 0 和 1 值打开受人尊敬的相机。
  • 这在录制过程中不起作用。我已经提到过。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多