pod 'iOS_LWAIGCKit', git: 'https://github.com/wsr1949/iOS_LWAIGCKit.git'pod install#import <iOS_LWAIGCKit/iOS_LWAIGCKit.h>/**
初始化(每次切换设备都需要重新调用)
*/
+ (void)initAIGCWithModel:(LWAIGCModel * _Nonnull)model;/**
AI语音智能体(配置音频参数,连接WebSocket)
@param audioInfo 此音频参数参数为智能体对话输入的音频格式信息
@param resultCallback 连接结果回调,error参部分错误码 LWAIGCERRORCODE
*/
+ (void)requestConnectAiVoiceAgentWebSocket:(LWAIGCAudioInfoModel * _Nonnull)audioInfo resultCallback:(void (^)(NSError * _Nullable error))resultCallback;/// 错误码
typedef NS_ENUM(NSInteger, LWAIGCERRORCODE) {
ERRORCODE_SAME = 500001, // 用户同一设备重复连接服务器
ERRORCODE_AUTH = 500002, // 当前设备未进行授权
ERRORCODE_SECRETKEY = 500003, // 服务器密钥错误(请找商务经理进行申请)
ERRORCODE_STOCK = 500004, // 当前设备未入库
ERRORCODE_APPID = 500005, // APPID错误
} NS_SWIFT_NAME(LWAIGCERRORCODE);/**
AI语音智能体(断开WebSocket)
*/
+ (void)disconnectAiVoiceAgentWebSocket;/**
AI语音智能体(WebSocket连接状态)
*/
+ (LWAIGCWEBSOCKETSTATUS)aiVoiceAgentWebSocketState;/**
注册智能体对话回调
@param chatSttCallback 语音转文本回调
@param chatTtsCallback 文本回复回调
@param chatAudioCallback 音频回复回调
@param chatMcpCmdCallback mcp命令回调
@param chatStopCallback 停止回调
*/
+ (void)registerChatSttCallback:(LWAIGCSttCallback)chatSttCallback
chatTtsCallback:(LWAIGCTtsCallback)chatTtsCallback
chatAudioCallback:(LWAIGCAudioCallback)chatAudioCallback
chatMcpCmdCallback:(LWAIGCMcpCmdCallback)chatMcpCmdCallback
chatStopCallback:(LWAIGCStopCallback)chatStopCallback;/**
AI语音智能体(开始对话语音识别)
@param mode stt类型
@param language 语言类型
*/
+ (void)startChatSpeechRecognition:(LWAIGCSTTMODE)mode language:(NSInteger)language;/**
AI语音智能体(发送对话语音数据)
*/
+ (void)sendChatVoiceData:(NSData *)data;/**
AI语音智能体(停止对话语音识别,手动模式必须调用)
*/
+ (void)stopChatSpeechRecognition;/**
AI语音智能体(中止对话响应)
@param sessionId 会话ID
*/
+ (void)abortResponseWithSessionId:(NSString * _Nonnull)sessionId;/**
AI语音智能体(上传对话图片开始识图,问题描述)
@param data 图片数据
@param question 问题
*/
+ (void)requestChatUploadImageData:(NSData * _Nonnull)data
question:(NSString * _Nonnull)question
callback:(LWAIGCImageRecognitionCallback)callback;/**
AI语音智能体(发送对话识图的结果)
@param results 识别结果
@param task_id 任务ID
*/
+ (void)sendChatImageRecognitionResults:(NSString * _Nonnull)results task_id:(NSString * _Nonnull)task_id;翻译结果均为流式返回,数据结构如下,其中 action 为 recognizing 表示识别中,action 为 recognized 表示句子识别完成;同一个句子 messageId 相同;text 为语音识别内容,translation_text 为语音翻译内容
{
"type": "xxx",
"session_id": "xxx",
"direction": "xxx",
"data": {
"text": "今天天气怎么样?",
"request_id": "<8位字符串>",
"messageId":1,
"action": "recognized",
"trans": [{
"translation_text": "How the weather like today?",
"language": "en-US"
}]
}
}音频流查阅 LWAIGCAudioStream 类,其中 action 为 start 表示发送开始,action 为 send 表示发送中,action 为 end 表示发送结束;同一个句子 message_id 相同;
/**
注册智能体翻译回调
@param translationTextCallback 语音转文本翻译回调
@param translationAudioCallback 音频翻译回调
*/
+ (void)registerTranslationTextCallback:(LWAIGCTranslateTextCallback)translationTextCallback
translationAudioCallback:(LWAIGCAudioCallback)translationAudioCallback;/**
AI语音智能体(设置翻译语种及音频信息)
@param translateModel 翻译语种及音频信息
*/
+ (void)setTranslationInfo:(LWAIGCTranslateModel * _Nonnull)translateModel;/**
AI语音智能体(开始翻译语音识别)
@param requestId 请求唯一ID
*/
+ (void)startTranslateSpeechRecognition:(NSString * _Nonnull)requestId;/**
AI语音智能体(发送翻译语音数据)
*/
+ (void)sendTranslateVoiceData:(NSData *)data;/**
AI语音智能体(停止翻译语音识别)
*/
+ (void)stopTranslateSpeechRecognition;/**
注册智能体同声传译回调
@param simultaneousInterpretationTextCallback 语音转文本同声传译回调
@param simultaneousInterpretationAudioCallback 音频同声传译回调
*/
+ (void)registerSimultaneousInterpretationTextCallback:(LWAIGCTranslateTextCallback)simultaneousInterpretationTextCallback
simultaneousInterpretationAudioCallback:(LWAIGCAudioCallback)simultaneousInterpretationAudioCallback;/**
AI语音智能体(设置翻译语种及音频信息)
@param translateModel 翻译语种及音频信息
*/
+ (void)setTranslationInfo:(LWAIGCTranslateModel * _Nonnull)translateModel;/**
AI语音智能体(开始同声传译语音识别)
@param requestId 请求唯一ID
*/
+ (void)startSimultaneousInterpretationSpeechRecognition:(NSString *)requestId;/**
AI语音智能体(发送同声传译语音数据)
*/
+ (void)sendSimultaneousInterpretationVoiceData:(NSData *)data;/**
AI语音智能体(停止同声传译语音识别)
*/
+ (void)stopSimultaneousInterpretationSpeechRecognition;音视频翻译(使用ZEGO即构 https://console.zego.im )
/**
AI语音智能体(创建房间)
@param queryRoomModel 房间创建参数
@param callback 房间信息回调
*/
+ (void)requestCreateRoomWithModel:(LWAIGCQueryRoomModel * _Nonnull)queryRoomModel
withCallback:(LWAIGCRoomQryCallback)callback;/**
注册智能体通话翻译回调
@param callTranslationTextCallback 语音转文本通话翻译回调
*/
+ (void)registerCallTranslationTextCallback:(LWAIGCTranslateTextCallback)callTranslationTextCallback;
在接收到自己的语音翻译结果时,需要将翻译结果通过ZEGO自定义消息发送给对方
- (void)sendCustomCommand:(NSString *)command
toUserList:(nullable NSArray<ZegoUser *> *)toUserList
roomID:(NSString *)roomID
callback:(nullable ZegoIMSendCustomCommandCallback)callback;/**
AI语音智能体(设置翻译语种及音频信息)
@param translateModel 翻译语种及音频信息
*/
+ (void)setTranslationInfo:(LWAIGCTranslateModel * _Nonnull)translateModel;
在ZEGO的自定义消息回调中处理
- (void)onIMRecvCustomCommand:(NSString *)command fromUser:(ZegoUser *)fromUser roomID:(NSString *)roomID
解析command的json信息:
当 `messageType` 为 `language-change` 时,`language` 为对方选择的语言类型,需要调用setTranslationInfo:设置翻译语种及音频信息
当 `messageType` 为 `translate` 时,`translation_text` 为对方语言的翻译结果/**
开始通话翻译语音识别
*/
+ (void)startCallTranslationSpeechRecognition:(NSString *)requestId;/**
AI语音智能体(发送通话翻译语音数据)
*/
+ (void)sendCallTranslationVoiceData:(NSData *)data;
这里的语言数据使用ZEGO的音频回调
- (void)onCapturedAudioData:(const unsigned char *)data dataLength:(unsigned int)dataLength param:(ZegoAudioFrameParam *)param /**
停止通话翻译语音识别
*/
+ (void)stopCallTranslationSpeechRecognition; project 2026-01-07 Version:1.0.2 Build:2026010701
1.移除音频发送公共API sendRecognizedVoiceData:,新增不同业务的音频发送API,如下:
语音助手(Chat) sendChatVoiceData:
对话翻译 sendTranslateVoiceData:
同声传译 sendSimultaneousInterpretationVoiceData:
音视频翻译 sendCallTranslationVoiceData:
2.移除翻译相关tts状态回调,修改音频回调 新增回调参数 参@link LWAIGCAudioStream 类
3.新增业务错误码 500004、500005 参@link 枚举LWAIGCERRORCODE
project 2026-01-05 Version:1.0.1 Build:2026010501
1.增加 语音助手(Chat)
2.增加 对话翻译
3.增加 同声传译
4.增加 音视频翻译(使用ZEGO即构 https://console.zego.im )
project 2025-03-03 Version:1.0.0 Build:2025030301
1.首版