HarmonyOS 录制视频的同时获取视频流的snapshot?

希望在录制视频的时候,获取视频流的截图,做是否有人脸在视频内的检测。参考如下文档,能正常录制视频,但在尝试增加拍照输入流时,会报错。

阅读 647
1 个回答

参考:https://gitee.com/openharmony/applications\_app\_samples/tree/master/code/BasicFeature/Media/Camera\_js

// 接受图像帧
this.mReceiver.on('imageArrival', (): void => {
  this.mReceiver.readNextImage((errCode: BusinessError, imageObj: image.Image): void => {
    console.info('readNextImage start');
    if (errCode || imageObj === undefined) {
      console.error('readNextImage failed');
      return;
    }
    imageObj.getComponent(image.ComponentType.JPEG, (errCode: BusinessError, component: image.Component): void => {
      console.info(`err: ${JSON.stringify(errCode)}`);
      if (errCode || component === undefined) {
        console.info('getComponent failed');
        return;
      }
      let buffer: ArrayBuffer;
      if (component.byteBuffer as ArrayBuffer) {
        // 预览帧,可以处理人脸数据,设置变量来判断是否为录制状态
        buffer = component.byteBuffer;
        this.savePictureJpg(buffer, GlobalContext.getContext().cacheDir + "/test.jpg");
      } else {
        console.error('component byteBuffer is undefined');
      }
    });
  });
});
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进