本地摄像头采集的视频,除了使用下面的ImageReceiver方式获取到,在Native层,使用 \#include "ohcamera/camera.h"中是否也可以同样获取到本地摄像头采集的视频数据?需要获取到摄像头采集的YUV数据,然后编码发送,请给出使用ohcamera/camera.h获取视频数据的方案,最好有代码示例。
private mReceiver: image.ImageReceiver;
this.mReceiver = image.createImageReceiver(this.cameraSize, 2000, 8);
this.mReceiver.on('imageArrival', () => {
if (this.mReceiver) {
this.mReceiver.readNextImage((err, image) => {
if (err || image === undefined) {
return;
}
image.getComponent(4, (errMsg, img) => {
if (errMsg || img === undefined) {
return;
}
let buffer = new ArrayBuffer(2048);
if (img.byteBuffer) {
buffer = img.byteBuffer;
}
else {
Logger.error(this.tag, 'img.byteBuffer is undefined');
}
this.savePicture(buffer, image);
})
})
}
})
Native侧也提供了imageReceiver。
参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/image\_\_receiver\_\_native\_8h-V5
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/image-receiver-c-V5