Skip to main content
Version: Latest

AIPlayer 方法

方法描述
init(json)使用指定 AI 初始化 AIPlayer(异步)
getState()获取 AIPlayer 当前状态(AIPlayerState)
setter(json)设置 AIPlayer 参数
getter(string)获取 AIPlayer 设置
preload(json)预加载语音(参见下方示例)
send(json)让 AI 说话或执行手势(参见下方示例)
pause()在讲话过程中暂停
resume()从暂停状态恢复讲话
stopSpeak()停止讲话并重置所有数据(不可恢复)
release()释放资源(终止 AIPlayer,异步)
getGestures()获取可用手势列表
getGender()获取当前 AI 性别
getSpeakableLanguages(gender)获取当前 AI 可说语言(按性别)
getCustomVoice()获取当前自定义语音
getCustomVoicesWith(language, gender)获取指定语言和性别的自定义语音
findCustomVoice(voiceId)根据 ID 获取 CustomVoice
setCustomVoice(customVoice)为 AI 设置指定 customVoice
setCustomVoiceForLanguage(language, gender)按语言和性别设置 AI 语音
reconnect(callback)AI 断开后尝试重连
isConnected()若可发送语音返回 true
canPreload(callback)检查是否可预加载
setVolme(volume)设置音量
getVolme()获取当前音量
setMute(isMute)静音(3D 模型不支持)
getMute()获取静音状态(3D 模型不支持)
generateToken()AIAPI - 使用 clientToken 生成认证 token(异步)
getAIList()AIAPI - 获取可用 AI 列表(异步)
getSampleTextList()AIAPI - 获取示例文本列表(异步)
setConfig(json)AIAPI - 设置 AIPlayer 配置

1. AIPlayer.init(json)

根据指定 AI 模型参数初始化 AI Player 对象 (getAIList)

  • 参数

    参数类型描述
    jsonObjectinit 参数对象
    json.ai_nameStringAI 模型名称
    json.sizeFloatAI 模型大小(默认 1.0)
    json.leftNumber左边距(默认 0,像素)
    json.topNumber上边距(默认 0,像素)
    json.speedFloat语速(范围 0.5~1.5,默认 1)
  • 示例

const result = await AI_PLAYER.init({
aiName: "...", size: 1.0, left: 0, top: 0, speed: 1.0
});

2. AIPlayer.getState()

获取 AIPlayer 状态(参考 AIPlayerState)

  • 返回:AIPlayerState
const state = AI_PLAYER.getState();

3. AIPlayer.setter(json)

设置 AI 信息

  • 参数

    参数类型描述
    jsonObjectsetter 参数
    json.sizeFloatAI 大小(0~2.0)
    json.topNumber上方位置
    json.leftNumber左侧位置
    json.speedFloat语速,0.5~1.5
  • 示例

AI_PLAYER.setter({ size: 1.2, top: 20, left: 20, speed: 1.2 });

4. AIPlayer.getter(key)

获取 AI 参数

  • 可用 key:maxTextLengthlong_speechlanguagesizetopleftspeed
AI_PLAYER.getter("size");

5. AIPlayer.send(...)

使 AI 说话或执行手势(使用预加载数据时复用)

  • 参数类型:

    参数类型描述
    textString单句文本
    textsArray<String>多句文本
    AIClipSetObject单个手势句
    AIClipSetsArray<Object>多个手势句
  • 示例

AI_PLAYER.send("Nice to meet you");
AI_PLAYER.send(["Nice to meet you", "How are you?"]);
AI_PLAYER.send({ text: "Nice to meet you", gst: "hi" });
AI_PLAYER.send([{ text: "Nice to meet you", gst: "hi" }, { text: "How are you?" }]);

6. AIPlayer.preload(...)

预加载语音内容(语音或手势同 send 类型)

AI_PLAYER.preload("Nice to meet you");
AI_PLAYER.preload(["Nice to meet you", "How are you?"]);
AI_PLAYER.preload({ text: "Nice to meet you", gst: "hi" });
AI_PLAYER.preload([{ text: "Nice to meet you", gst: "hi" }, { text: "How are you?" }]);

7. AIPlayer.pause()

暂停讲话。


8. AIPlayer.resume()

恢复讲话。


9. AIPlayer.stopSpeak()

停止讲话并清除队列数据(不能恢复)。


10. AIPlayer.release()

释放系统资源。

await AI_PLAYER.release();

11. AIPlayer.getGestures()

获取手势列表。

const gestures = AI_PLAYER.getGestures();

12. AIPlayer.getGender()

获取 AI 性别(MALE/FEMALE/UNI/null)。

const gender = AI_PLAYER.getGender();

13. AIPlayer.getSpeakableLanguages(gender)

获取当前可用语言列表。

const languages = AI_PLAYER.getSpeakableLanguages(gender);

14. AIPlayer.getCustomVoice()

获取当前设置的语音。

const customVoice = AI_PLAYER.getCustomVoice();

15. AIPlayer.getCustomVoicesWith(language, gender)

根据语言与性别过滤自定义语音。

const voices = AI_PLAYER.getCustomVoicesWith(language, gender);

16. AIPlayer.findCustomVoice(voiceId)

根据 ID 找到对应语音。

const voice = AI_PLAYER.findCustomVoice(voiceId);

17. AIPlayer.setCustomVoice(customVoice)

设置自定义语音。

AI_PLAYER.setCustomVoice(customVoice);

18. AIPlayer.setCustomVoiceForLanguage(language, gender)

按语言与性别设置语音。

AI_PLAYER.setCustomVoiceForLanguage(language, gender);

19. AIPlayer.reconnect(callback)

AI_PLAYER.reconnect(() => {});

20. AIPlayer.isConnected()

const ok = AI_PLAYER.isConnected();

21. AIPlayer.canPreload()

const can = AI_PLAYER.canPreload(() => {});

22. AI_PLAYER.setVolume(volume)

AI_PLAYER.setVolume(volume);
AI_PLAYER.getVolume();

23. AI_PLAYER.setMute(isMute)

AI_PLAYER.setMute(true);
AI_PLAYER.getMute();

23. AI_PLAYER.setConfig(json)

配置 AIPlayer。

AI_PLAYER.setConfig({
useCustomVoice: true,
logLevel: 0,
enableSpeechSplit: false,
splitAPITimeout: 4000,
enableBGImgDB: false,
enableSpeechCache: true,
enablePersistantSpeechCache: false,
enableSkipErrorSpeech: false
});