Avatar 虚拟形象
  • iOS
  • Android : Java
  • 产品简介
  • 下载
  • 下载体验 App
  • 快速开始
    • 跑通示例源码
    • 集成 SDK
    • 创建虚拟形象
  • 基本功能
  • 最佳实践
  • 客户端 API
  • 服务端 API
  • 常见错误码
  • 常见问题
  • 文档中心
  • Avatar 虚拟形象
  • 基本功能
  • 文本驱动

文本驱动

更新时间:2023-08-12 21:26

功能简介

ZEGO Avatar SDK 压缩包中的 ZegoTextAPI 提供 文本驱动 功能,即通过 ZEGO 提供的接口,使用文字驱动 Avatar 形象同时做出表情并播放与文字对应的语音。

前提条件

在接入“文本驱动”功能之前,请确保:

  • 已在项目中集成了 Avatar SDK,详情请参考 集成 SDK
  • 已参考 创建虚拟形象,完成基本的虚拟人物形象搭建。
  • 已联系 ZEGO 商务人员开通 文本驱动 相关权限。

实现流程

1 获取模块源码

联系 ZEGO 技术支持获取文本驱动的源码模块 apiservice。

  • 注意 java 目录,建议包名为:im.zego.apiservice,否则需要修改源码。
  • 由于 ZegoTextAPI 依赖了 Avatar SDK,应用工程必须包含 Avatar SDK。

2 (可选)引入依赖

在源码中,ZegoTextAPI 内置使用了 okhttp3 网络库,您也可根据实际情况自行引入或修改网络实现。

如果您未修改源码的网络实现,请在 build.gradle 文件里添加依赖,向您的应用添加 okhttp3 网络库,示例代码如下所示:

dependencies {
    ......
    implementation 'com.squareup.okhttp3:okhttp:4.9.0'
    ......
}

3 鉴权

您需要在 ZegoTextLicenseCustomer 文件中输入 AppID 与 AppSign。如何获取相关信息,请参考 控制台 - 项目信息

此处填写的 AppID 和 AppSign 须与创建虚拟形象时鉴权时所填写的信息保持一致。

public class ZegoTextLicenseCustomer {

    public static long APP_ID = 您的 AppID;
    public static String APP_SIGN = "您的 AppSign";

}

4 调用接口

参考 创建虚拟形象,搭建出基本的虚拟人物形象(character 对象)后:

  1. 初始化 ZegoTextAPI 对象,传入 Character。

    // 请先参考 [创建虚拟形象](https://doc-zh.zego.im/article/18051),创建 character 对象(如 mZegoCharacter)。
    
    mZegoTextAPI = new ZegoTextAPI(mZegoCharacter);
  2. 设置回调 ITextExpressionCallback

    mZegoTextAPI.setTextExpressionCallback(new ITextExpressionCallback() {
        /**
         * 文本驱动播放启动时,回调
         */
        @Override
        public void onStart() {
            Log.d(TAG, "text drive start");
        }
    
        /**
         * 文本驱动播放出错时,回调
         * @param errorCode 错误码,详情请参考 [常见错误码 - 文本驱动](https://doc-zh.zego.im/article/14884#2)。
         */
        @Override
        public void onError(int errorCode, String msg) {
        }
    
        /**
         * 文本驱动播放结束时,回调
         */
        @Override
        public void onEnd() {
            Log.d(TAG, "text drive end");
        }
    });

    完成设置后,ZegoTextAPI 会回调相应的方法。回调的错误码在 TextConstants 类的静态类 ErrorCode 中定义,详情请参考 常见错误码 - 文本驱动错误码

  3. 调用 playTextExpression 接口,输入文本,虚拟人物形象即可做出对应表情并播放语音。

    // 设置需要转换为表情的文本
    mZegoTextAPI.playTextExpression("需要播放的文本");
    • 文本最大长度为 1000 字符/次;对于超长文本,请选择多次调用此接口,按顺序播放。
    • 您可根据实际情况,调整源码中的音频播放实现。
  4. 如需停止文本驱动可调用 stopTextExpression 接口。

    //停止本次文本驱动
    mZegoTextAPI.stopTextExpression();
本篇目录