录像也是相机应用的最重要功能之一,录像是循环帧的捕获。对于录像的流畅度,开发者可以参考中的步骤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
本站由北京市万商天勤律师事务所王兴未律师提供法律服务