The call’s last seconds
一通通话有最长时长:你的服务器要求的 maxSessionLengthSeconds,没有就用角色的,再没有就是 2 小时——而且不会超过你的套餐允许的时长
(Free 套餐是 3 分钟)。从数字人的第一帧开始计时。最后 15 秒,SDK 会在画面上方倒计时——「通话将在 15 秒后结束」、14、13……——
到 0 时通话结束。这些数字在 SDK 加入时传给它。你账户的余额快用完时也会显示同样的倒计时:AvatarGo 提前 15 秒通知通话,到 0 时你所有正在进行的通话都会结束。
倒计时文字用浏览器的语言,不说明原因,不遮挡脸,也不抢焦点。倒计时开始时触发 call_ending,带上原因。
可以换成你自己的文字,可替换的有 label 和 short(用在宽度不到 300 px 的画面上);{seconds} 会换成剩余秒数:
await client.streamToVideoElement("avatar", { endingNotice: { label: "Wrapping up in {seconds} s" } });或者自己画:关掉倒计时文字,跟着事件走。
client.on("call_ending", ({ secondsLeft }) => {
endingNote.hidden = false;
endingNote.textContent = `This call ends in ${secondsLeft} s`;
});
await client.streamToVideoElement("avatar", { endingNotice: false });