1.0.0 • Published 9 months ago
@panxife/digital-human-runtime-render-sdk v1.0.0
磐曦数字人运行时 SDK - 渲染 SDK
简介
数字人运行时渲染 SDK,包含以下能力:
- 渲染数字人画面
- 实时扣除数字人绿幕,更换背景
在使用 SDK 前,请确保已完成以下操作:
- 1、通过磐曦智创控制台/OpenAPI 创建了一个实时数字人项目并发布
- 2、调用 startAvatarSession 接口启动实时渲染
安装
npm install @panxife/digital-human-runtime-render-sdk --save
接入项目
1、依赖
SDK 目前通过 React 开发,如果非 React,需要在上下文中安装或引入 React,React-dom CDN 文件
https://g.alicdn.com/code/lib/react/18.0.0/umd/react.production.min.js
https://g.alicdn.com/code/lib/react-dom/18.0.0/umd/react-dom.production.min.js
2、引入
import DigitalHumanSDK from '@panxife/digital-human-runtime-render-sdk';
import '@panxife/digital-human-runtime-render-sdk/dist/style.css';
interface SDKOptions {
// 项目数据
project: {
// 在websocket建联后,接收到channel ready事件时返回的数据
frames: Array<PageSchema>;
};
// 调用startAvatarSession接口,收到的数据中的channelToken字段(JSON对象)
channelInfo: ChannelInfo;
// 需要渲染到的容器节点
container: HTMLElement;
// 画布宽高
canvasSize: Record<string, any>;
// 渲染类型,可不传,默认2d
type: '2d' | 'hyperrealism' | 'subrealism' | 'cartoon';
// 是否静音播放
mute?: boolean;
// 渲染层的层级,默认不传
zIndex?: number;
// 加入频道成功后的回调
onJoinChannel?: ({ success }) => void;
// 出错时的回调
onError?: (error: Error) => void;
// 启动成功后的回调
onStart?: () => void;
// 结束后的回调
onEnd?: () => void;
}
const params: SDKOptions = {
project: { frames: project },
channelInfo,
container: containerRef.current,
canvasSize
};
// 实例化一个渲染对象
const newSdkInstance = new DigitalHumanSDK(params);
// 销毁渲染对象
newSdkInstance.destroy();
参数说明
参数名 | 描述 | 类型 | 是否必填 | 默认值 |
---|---|---|---|---|
project | 包含图层信息的项目数据; | 对象 | 是 | - |
project.frames | 图层信息 数据来源:在 websocket 建联后,接收到 channel ready 事件时返回 | 数组对象 | 是 | - |
channelInfo | 调用 startAvatarSession 接口,收到的数据中的 channelToken 字段 | 对象 | 是 | - |
container | 需要渲染到的容器节点 div | HTMLElement | 是 | - |
canvasSize | 画布宽高 | 对象 | 是 | - |
canvasSize.width | 画布宽 | number | 是 | - |
canvasSize.height | 画布高 | number | 是 | - |
type | 数字人渲染类型,'2d' | 'hyperrealism' | 'subrealism' | 'cartoon' | string | 否 | 2d |
zIndex | 渲染层的层级 | number | 否 | 50 |
onJoinChannel | 加入频道成功后的回调 | ({ success }) => void; | 否 | - |
onError | 出错时的回调 | (error: Error) => void; | 否 | - |
onStart | 启动成功后的回调 | () => void | 否 | - |
onEnd | 结束后的回调 | () => void | 否 | - |
Changelog
1.0.0
9 months ago