【问题标题】:How can I Record Video Using MediaRecorder and com.google.android.gms.vision.CameraSource?如何使用 MediaRecorder 和 com.google.android.gms.vision.CameraSource 录制视频?
【发布时间】:2018-03-27 16:17:57
【问题描述】:

我正在使用 Camera Source 开发带有 人脸检测 的相机应用程序,但我无法使用 CameraSource 录制视频MediaRecorder.setCamera(); 需要硬件相机。使用 CameraSource 录制有什么帮助吗?

【问题讨论】:

  • 您能发布一些使用 CameraSource 和 MediaRecorder 的代码吗?为了做出更好的回答。

标签: android video android-mediarecorder


【解决方案1】:

尝试使用反射来获取相机对象。

Modified this

private static Camera getCamera(@NonNull CameraSource cameraSource)  {
 Field[] declaredFields = CameraSource.class.getDeclaredFields();
    for (Field field : declaredFields)
   {
       if (field.getType() == Camera.class) 
       { 
           field.setAccessible(true);
           try { 
                Camera camera = (Camera) field.get(cameraSource);
                if (camera != null) 
               { 
                    return camera;
                } 
                return null;
          } catch (IllegalAccessException e) {
         e.printStackTrace();
        }
      break;
     }
   }
   return null;
 }

【讨论】:

  • 我要投射 CameraSource 存在于移动视觉中的 Camera 硬件
  • @SayedShalan 有帮助吗?
  • 很遗憾没有,MediaRecorder 在打开 CameraSource 时打开了它自己的相机,所以发生了冲突,我实际上有 cameraSourcePreview 并且我应用了一些 图像处理 例如 faceDetection ,我想要任何方式使用此相机录制视频,或将此相机记录为视图!
  • @SayedShalan 那么第一个代码有效吗?还是两个代码都不起作用?
  • 第一个代码完美运行,但是 mediaRecorder 打开新相机!!,我希望 MediaRecorder 不打开任何相机并使用我实际打开的 CameraSource
猜你喜欢
  • 2013-04-08
  • 1970-01-01
  • 1970-01-01
  • 2015-12-01
  • 2021-02-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-09
相关资源
最近更新 更多