对讲机模式
通过阅读本文,您可以了解如何通过AICallKit SDK实现对讲机模式。
使用说明
本示例主要旨在帮助您在不含UI集成的情况下,如何利用API实现该功能。
您需要提前集成AICallkit SDK。如何集成,请参见Android集成概览、iOS集成概览、Web集成概览。
对讲机模式效果预览
|
开启对讲机模式 将对话模式从自然对话模式切换至对讲机模式。 切换操作在设置面板中完成。面板还提供声纹识别(邀测)开关(开启后 AI 仅将您的声音作为输入)和选择音色功能,可选音色包括 Zhi Xiao Bai、Zhi Xiao Xia 和 A Bin。 |
开始说话 按下并保持讲话按钮,以开始与智能体进行交流。 按住麦克风按钮后,界面中央显示语音动画,提示你说,我在听并显示通话计时。底部操作栏包含关扬声器、麦克风滑动条(松开发送)和挂断按钮。 |
该功能以及UI界面均在含UI集成方案中内置。含UI集成方案详情,请参见含UI集成方案。
实现对讲机功能
在对讲机模式下,用户的每一次输入与智能体的每一次响应均为独立事件,此模式类似于传统对讲机的使用方式。在这种模式下,用户与智能体之间的交流显得更加结构化且有序。通过对讲机模式,用户能够以更高效、更有组织的方式与智能体进行交互。
API详情
|
API |
描述 |
|
enablePushToTalk |
开启/关闭对讲机模式,同时智能体的最终对讲机状态会通过 |
|
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);
});