拍照
功能介绍
本节介绍如何基于视频 UI 组件当前正在显示的画面进行拍照截帧,将图像保存为文件或转为 Base64 供业务使用。
注意:
须在成功进入房间后,方可拍照;须先通过 订阅并显示视频 创建组件并完成 setVideo,且组件上已有画面(isPicEmpty() 返回 1 表示非空)。
1. 保存为图片文件
对已显示视频画面的视频 UI 组件调用 savePic(fileName),SDK 将当前帧编码为图片并触发浏览器下载;保存路径由浏览器/用户决定,无法指定目录。
- 支持常见扩展名:
jpg、jpeg、png等; - 组件无画面或视频流未激活时调用,SDK 无响应。
示例:
var videoUI = CRVideo_CreatVideoObj();
document.getElementById('videoBox').appendChild(videoUI.handler());
videoUI.setVideo(remoteUID);
// 等待画面就绪后拍照(isPicEmpty 返回 1 表示有画面)
if (videoUI.isPicEmpty() === 1) {
videoUI.savePic('snapshot.png');
}
相关 API 请参考:
2. 获取 Base64 数据
调用 savePicToBase64(format) 可获取当前帧的 Base64 字符串,便于上传或自定义保存。format 可选,缺省为 png。
- 返回值带 MIME 前缀,例如
data:image/png;base64,...;若仅需纯数据,可自行去掉data:image/png;base64,前缀; - 组件无画面时调用,SDK 无响应。
示例:
if (videoUI.isPicEmpty() === 1) {
var base64 = videoUI.savePicToBase64('png');
}
相关 API 请参考: