对讲机模式

通过阅读本文,您可以了解如何通过AICallKit SDK实现对讲机模式。

使用说明

  • 本示例主要旨在帮助您在不含UI集成的情况下,如何利用API实现该功能。

  • 您需要提前集成AICallkit SDK。如何集成,请参见Android集成SDKiOS集成SDKWeb集成SDK

对讲机模式效果预览

开启对讲机模式

将对话模式从自然对话模式切换至对讲机模式。

45050f7ef32c1acc391ab1b18c7b171e

开始说话

按下并保持讲话按钮,以开始与智能体进行交流。

lQDPJww8JdHXqQHNCMbNBDiwZR5mz6fv448HV0koHPV0AA_1080_2246

说明

该功能以及UI界面均在含UI集成方案中内置。含UI集成方案详情,请参见UI集成方案

实现对讲机功能

在对讲机模式下,用户的每一次输入与智能体的每一次响应均为独立事件,此模式类似于传统对讲机的使用方式。在这种模式下,用户与智能体之间的交流显得更加结构化且有序。通过对讲机模式,用户能够以更高效、更有组织的方式与智能体进行交互。

API详情

API

描述

enablePushToTalk

开启/关闭对讲机模式,同时智能体的最终对讲机状态会通过onPushToTalk回调出来,最终的开关以回调为准。

startPushToTalk

按住开始讲话。仅在开启对讲机模式后,此调用才有效。在此期间,智能体将不会触发断句,并且其状态将始终保持在聆听状态,将实时输出用户的讲话字幕。

说明

建议在按钮按下事件调用该API,不要在松开事件里调用。

finishPushToTalk

松开完成此轮次讲话,智能体会进入思考状态,并很快播报结果。

cancelPushToTalk

松开取消此次讲话,智能体不做任何处理,立即回到等待按住开始讲话状态。

示例代码

Android

// 默认情况下是关闭对讲机模式,传入true开启对讲机模式
mARTCAICallEngine.enablePushToTalk(enable: true)

// 按住开始讲话
mARTCAICallEngine.startPushToTalk()

// 松开完成此轮次讲话
mARTCAICallEngine.finishPushToTalk()

// 松开取消此次讲话
mARTCAICallEngine.cancelPushToTalk()

// 回调处理(仅示例相关的回调操作)
ARTCAICallEngine.IARTCAICallEngineCallback mCallEngineCallbackWrapper = new ARTCAICallEngine.IARTCAICallEngineCallback() {
    
    @Override
    public void onPushToTalk(boolean enable) {
        // 当前通话的对讲机模式是否启用回调
        // 最终是否开启/关闭,以该回调为准
    }
}

iOS

// 默认情况下是关闭对讲机模式,传入true开启对讲机模式
_ = self.engine.enablePushToTalk(enable: true)

// 按住开始讲话
_ = self.engine.startPushToTalk()

// 松开完成此轮次讲话
_ = self.engine.finishPushToTalk()

// 松开取消此次讲话
_ = self.engine.cancelPushToTalk()

func onPushToTalk(enable: Bool) {
    // 当前通话的对讲机模式是否启用回调
    // 最终是否开启/关闭,以该回调为准
}

Web

// 默认情况下是关闭对讲机模式,传入true开启对讲机模式
engine.enablePushToTalk(enable);

// 按住开始讲话
engine.startPushToTalk();

// 松开完成此轮次讲话
engine.finishPushToTalk();

// 松开取消此次讲话
engine.cancelPushToTalk();

engine.on('pushToTalkChanged', (enable) => {
  // 当前通话的对讲机模式是否启用回调
  // 最终是否开启/关闭,以该回调为准
  console.log('AICallPushToTalk', enable);
});