您好,欢迎来到图艺博知识网。
搜索
您的当前位置:首页鸿蒙5.0版开发:录像(C/C++)

鸿蒙5.0版开发:录像(C/C++)

来源:图艺博知识网

 往期鸿蒙全套实战文章必看:


录像(C/C++)

录像也是相机应用的最重要功能之一,录像是循环帧的捕获。对于录像的流畅度,开发者可以参考中的步骤5,设置分辨率、闪光灯、焦距、照片质量及旋转角度等信息。

开发步骤

状态监听

在相机应用开发过程中,可以随时监听录像输出流状态,包括录像开始、录像结束、录像流输出的错误。

  • 通过注册固定的frameStart回调函数获取监听录像开始结果,videoOutput创建成功时即可监听,录像第一次曝光时触发,有该事件返回结果则认为录像开始。

      ret = OH_VideoOutput_RegisterCallback(videoOutput, GetVideoOutputListener());
      if (ret != CAMERA_OK) {
        OH_LOG_ERROR(LOG_APP, "OH_VideoOutput_RegisterCallback failed.");
      }
      void VideoOutputOnFrameStart(Camera_VideoOutput* videoOutput)
      {
          OH_LOG_INFO(LOG_APP, "VideoOutputOnFrameStart");
      }
    
      VideoOutput_Callbacks* GetVideoOutputListener(void)
      {
          static VideoOutput_Callbacks videoOutputListener = {
              .onFrameStart = VideoOutputOnFrameStart,
              .onFrameEnd = VideoOutputOnFrameEnd,
              .onError = VideoOutputOnError
          };
          return &videoOutputListener;
      }
  • 通过注册固定的frameEnd回调函数获取监听录像结束结果,videoOutput创建成功时即可监听,录像完成最后一帧时触发,有该事件返回结果则认为录像流已结束。

      void VideoOutputOnFrameEnd(Camera_VideoOutput* videoOutput, int32_t frameCount)
      {
          OH_LOG_INFO(LOG_APP, "VideoOutput frameCount = %{public}d", frameCount);
      }
  • 通过注册固定的error回调函数获取监听录像输出错误结果,callback返回预览输出接口使用错误时对应的错误码。

      void VideoOutputOnError(Camera_VideoOutput* videoOutput, Camera_ErrorCode errorCode)
      {
          OH_LOG_INFO(LOG_APP, "VideoOutput errorCode = %{public}d", errorCode);
      }

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuoyibo.net 版权所有 湘ICP备2023021910号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务