camera 获取预览数据

创建了预览数据 output 
this.mAnalysisImageReceiver = image.createImageReceiver(size.width, size.height, image.ImageFormat.JPEG, 4) 
this.mAnalysisImageReceiver.on(‘imageArrival’, async () => { 
  let latestImage: image.Image | null = null 
  try { 
    if (this.mAnalysisImageReceiver) { 
      latestImage = await this.mAnalysisImageReceiver.readLatestImage() 
      if (latestImage) { 
        let data = await latestImage.getComponent(image.ComponentType.JPEG) 
        await latestImage.release() 
        this.mCallback?.onImageAnalysis(data) 
      } 
    } 
  } catch (e) { 
    CameraLog.e(TAG, ‘prepareImageCaptureReader’, e) 
  } finally { 
    latestImage?.release() 
  } 
}) 
let previewSurfaceId: string = await this.mAnalysisImageReceiver.getReceivingSurfaceId() 
CameraLog.d(TAG, prepareImageAnalysisReader: size = ${size} id = ${previewSurfaceId}) 
this.mAnalysisOutput = this.getCameraManager().createPreviewOutput({ 
  format: camera.CameraFormat.CAMERA_FORMAT_JPEG, 
  size: size 
}, previewSurfaceId) 
 
添加进 session 中 
if (this.mAnalysisOutput) { 
  captureSession.addOutput(this.mAnalysisOutput) 
}

1.设置image.ImageFormat.JPEG格式,获取到的数据转换 pixelmap 时报错:Create PixelMap error

2.文档上标记的image.createImageReceiver支持格式:图像格式,取值为ImageFormat常量(目前仅支持 ImageFormat:JPEG),请问如何能获取到 NV21 或者 YUV420P 格式的数据?

HarmonyOS
2024-05-08 21:44:40
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
她是猫鳄鱼

获取预览数据参考相机双路预览官方文档,官方示例代码中的bytebuffer就是YUV文档地址:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/camera-dual-channel-preview-0000001820880033

分享
微博
QQ
微信
回复
2024-05-09 11:34:24
相关问题
camera_lite预览功能如何实现?
2397浏览 • 0回复 待解决
如何连续获取相机预览数据
746浏览 • 1回复 待解决
import camera from '@ohos.multimedia.camera'
302浏览 • 1回复 待解决
快速预览通过网络数据渲染页面
340浏览 • 1回复 待解决
如何获取前置摄像头的预览图像
2436浏览 • 1回复 待解决
OpenHarmony 3.0 LTS camera驱动
4157浏览 • 0回复 待解决