Skip to content

VoiceToon 3D 模型 形象初始化说明

初始化属性

属性名类型必填默认值说明
appIdstring智能体开放平台应用 ID 鉴权说明
appAuthTokenstringSDK 接入 token 鉴权说明
animateUrlstring-动画数据地址,本地资源请使用 file:// 协议
idleFramesarray-空闲动画名称(请确保动画名称与 3d 模型内一致),允许多个; e.g. [animate1, animate2]
talkFramesarray-讲述动画名称(请确保动画名称与 3d 模型内一致),允许多个; e.g. [animate1, animate2]
thinkFramesarray-思考动画名称(请确保动画名称与 3d 模型内一致),允许多个; e.g. [animate1, animate2]
talkRulesobject-朗读读音纠错规则 查看详情

talkRules

提示

若您需要使用智能体页面的读音规则请对接 获取机器人文字发音配置接口

属性名类型是否必填示例格式说明
phoneticRulesArray[{ scene: "丽水市", pronunciation: "li2 shui3 shi4" }]拼音标注规则
regexRulesArray[{"scene": "文档编码:(\d+)\/ks", flag:"g", "pronunciation": "$1-ks"}]正则替换规则
textRulesArray[{ "scene": "丽水市", "pronunciation": "丽水", flag: "g" }]文本替换规则

实例方法

方法签名说明
talk(text:string, options?:{ intercept?:boolean = true }) => void触发语音朗读, intercept = false 时允许连续多次调用而不打断前序朗读
on(event: string, callback: function) => void监听事件
once(event: string, callback: function) => void监听事件(仅监听一次,触发后自动取消监听)
off(event: string, callback?: function) => void关闭事件监听
setLocale(locale:string) => void切换多语言设置
setVolume(volume:number, duration?:number) => void设置音量,第一个参数为音量(0-1),第二个参数为淡入淡出过渡时间(ms)
setSpeed(volume:number) => void设置语音倍速,值为 0.5-2.5,设置后下次调用 talk 生效
playThinkingAnimation() => void随机播放一个思考动画(需要动画拥有thinkFrames
stopAnimation() => void停止动画播放
playAnimationBySegment(animation: String | Array, options: { loop?: boolean }) => void播放指定动画
pause() => void暂停语音
resume() => void恢复语音(不能恢复被 intercept中断的语音)
intercept() => void中断语音
destroy() => void销毁形象

事件

事件名称回调签名说明
analysis(isMute: boolean, data: Float32Array[]) => void音频时点分析事件,第一个参数为当前是否静音,第二个参数为的音频数据采样
speakControl(status: boolean) => void语音控制开关状态变更
talkStart(e: Event) => void语音播放时触发
talkEnd(e: Event) => void语音播放结束时触发
loadProgress(percent: number) => void形象加载进度变化
loadComplete(percent: number) => void形象加载完成
wakeup() => void语音唤醒成功
asrStart(status: boolean) => void语音识别开启
asrStop(status: boolean) => void语音识别关闭
animationStart(animationName: String | Array) => void开始播放动画
animationEnd(animationName: String | Array) => void停止播放动画(被打断的动画不会触发该事件)
asrControl(status: boolean) => void点击形象上的 ASR 控制开关时返回 ASR 启用状态
asrResult(text: string) => voidASR 语音识别成功
asrError(error: Error) => voidASR 语音识别触发异常
localeChange(locale: string) => void多语言切换时触发,提供当前使用的新语言
error(error: string) => void运行时异常捕获

示例代码

javascript
const VoiceToonBotForModel = VoiceToonBot.VoiceToonBotForModel;

const options = {
  appId: "your_app_id",
  appAuthToken: "your_app_auth_token",
  animateUrl:
    "https://robot-static.chaoxing.com/robot-res/virtualhuman/859caf5f5eb84ce48fe32912ac4cc31720250428090203.gif",
};

try {
  const bot = new VoiceToonBotForModel(options);
} catch (error) {
  // 初始化异常捕获
}

bot.on("error", (error) => {
  // 运行时异常捕获
});

bot.on("loadComplete", () => {
  console.log("加载成功做点什么");
});

最近更新: