类 | 含义 |
ITMGContext | 核心接口 |
ITMGPTT | 语音消息及转文本相关接口 |
接口 | 接口含义 |
Init | 初始化 GME |
Poll | 触发事件回调 |
Pause | 系统暂停 |
Resume | 系统恢复 |
Uninit | 反初始化 GME |
#include "tmg_sdk.h"class UEDEMO1_API AUEDemoLevelScriptActor : public ALevelScriptActor, public ITMGDelegate{public:...private:...}
ITMGContext* context = ITMGContextGetInstance();context->SetTMGDelegate(this);
//函数实现://UEDemoLevelScriptActor.h:class UEDEMO1_API AUEDemoLevelScriptActor : public ALevelScriptActor, public SetTMGDelegate{public:void OnEvent(ITMG_MAIN_EVENT_TYPE eventType, const char* data);}//UEDemoLevelScriptActor.cpp:void AUEDemoLevelScriptActor::OnEvent(ITMG_MAIN_EVENT_TYPE eventType, const char* data){//在此对eventType进行判断及操作}
ITMGContext virtual int Init(const char* sdkAppId, const char* openId)
返回值 | 处理 |
AV_OK = 0 | 初始化 SDK 成功 |
AV_ERR_SDK_NOT_FULL_UPDATE=7015 | 检查 SDK 文件是否完整,建议删除后重新导入 SDK |
std::string appid = TCHAR_TO_UTF8(CurrentWidget->editAppID->GetText().ToString().operator*());std::string userId = TCHAR_TO_UTF8(CurrentWidget->editUserID->GetText().ToString().operator*());ITMGContextGetInstance()->Init(appid.c_str(), userId.c_str());
class ITMGContext {protected:virtual ~ITMGContext() {}public:virtual void Poll()= 0;}
//头文件中的声明virtual void Tick(float DeltaSeconds);void AUEDemoLevelScriptActor::Tick(float DeltaSeconds) {Super::Tick(DeltaSeconds);ITMGContextGetInstance()->Poll();}
ITMGContext int Pause()
ITMGContext int Resume()
ITMGContext int Uninit()
接口 | 接口含义 |
GenAuthBuffer | 生成本地鉴权 |
ApplyPTTAuthbuffer | 鉴权初始化 |
SetMaxMessageLength | 限制最大语音信息时长 |
int QAVSDK_AuthBuffer_GenAuthBuffer(unsigned int dwSdkAppID, const char* strRoomID, const char* strOpenID,const char* strKey, unsigned char* strAuthBuffer, unsigned int bufferLength);
参数 | 类型 | 含义 |
dwSdkAppID | int | 来自腾讯云控制台的 AppId 号码 |
strRoomID | const char* | 填 null 或者空字符串 |
strOpenID | const char* | 用户标识。与 Init 时候的 openID相同 |
strKey | const char* | |
strAuthBuffer | const char* | 返回的 authbuff |
bufferLength | int | 传入的 authbuff 长度,建议为 500 |
ITMGPTT virtual int ApplyPTTAuthbuffer(const char* authBuffer, int authBufferLen)
参数 | 类型 | 含义 |
authBuffer | const char* | 鉴权 |
authBufferLen | int | 鉴权长度 |
ITMGContextGetInstance()->GetPTT()->ApplyPTTAuthbuffer(authBuffer,authBufferLen);
ITMGPTT virtual int SetMaxMessageLength(int msTime)
参数 | 类型 | 含义 |
msTime | int | 语音时长,单位 ms,区间为 1000 < msTime < = 58000 |
int msTime = 10000;ITMGContextGetInstance()->GetPTT()->SetMaxMessageLength(msTime);
接口 | 接口含义 |
StartRecordingWithStreamingRecognition | 启动流式录音 |
StopRecording | 停止录音 |
ITMGPTT virtual int StartRecordingWithStreamingRecognition(const char* filePath)ITMGPTT virtual int StartRecordingWithStreamingRecognition(const char* filePath,const char* translateLanguage,const char* translateLanguage)
ITMGContextGetInstance()->GetPTT()->StartRecordingWithStreamingRecognition(filePath,"cmn-Hans-CN","cmn-Hans-CN");
ITMG_MAIN_EVNET_TYPE_PTT_STREAMINGRECOGNITION_COMPLETE
是在停止录制并完成识别后才返回文字,相当于一段话说完才会返回识别的文字。ITMG_MAIN_EVNET_TYPE_PTT_STREAMINGRECOGNITION_IS_RUNNING
是在录音过程中就会实时返回识别到的文字,相当于边说话边返回识别到的文字。消息名称 | 含义 |
result | 用于判断流式语音识别是否成功的返回码 |
text | 语音转文字识别的文本 |
file_path | 录音存放的本地地址 |
file_id | 录音在后台的 url 地址,录音在服务器存放90天 |
ITMG_MAIN_EVNET_TYPE_PTT_STREAMINGRECOGNITION_IS_RUNNING
消息时,file_id 为空。错误码 | 含义 | 处理方式 |
32775 | 流式语音转文本失败,但是录音成功 | 调用 UploadRecordedFile 接口上传录音,再调用 SpeechToText 接口进行语音转文字操作 |
32777 | 流式语音转文本失败,但是录音成功,上传成功 | 返回的信息中有上传成功的后台 url 地址,调用 SpeechToText 接口进行语音转文字操作 |
32786 | 流式语音转文本失败 | 在流式录制状态当中,请等待流式录制接口执行结果返回 |
32787 | 转文本成功,文本翻译服务未开通 | 需要在控制台开通文本翻译服务 |
32788 | 转文本成功,文本翻译语言参数不支持 | 重新检查传入参数 |
void TMGTestScene::OnEvent(ITMG_MAIN_EVENT_TYPE eventType,const char* data){switch (eventType) {case ITMG_MAIN_EVNET_TYPE_PTT_STREAMINGRECOGNITION_COMPLETE:{HandleSTREAM2TEXTComplete(data,true);break;}...case ITMG_MAIN_EVNET_TYPE_PTT_STREAMINGRECOGNITION_IS_RUNNING:{HandleSTREAM2TEXTComplete(data, false);break;}}}void CTMGSDK_For_AudioDlg::HandleSTREAM2TEXTComplete(const char* data, bool isComplete){std::string strText = "STREAM2TEXT: ret=";strText += data;m_EditMonitor.SetWindowText(MByteToWChar(strText).c_str());Json::Reader reader;Json::Value root;bool parseRet = reader.parse(data, root);if (!parseRet) {::SetWindowText(m_EditInfo.GetSafeHwnd(),MByteToWChar(std::string("parse result Json error")).c_str());}else{if (isComplete) {::SetWindowText(m_EditUpload.GetSafeHwnd(), MByteToWChar(root["file_id"].asString()).c_str());}else {std::string isruning = "STREAMINGRECOGNITION_IS_RUNNING";::SetWindowText(m_EditUpload.GetSafeHwnd(), MByteToWChar(isruning).c_str());}}}
接口 | 接口含义 |
StartRecording | 启动录音 |
PauseRecording | 暂停录音 |
ResumeRecording | 恢复录音 |
StopRecording | 停止录音 |
CancelRecording | 取消录音 |
ITMGPTT virtual int StartRecording(const char* fileDir)
参数 | 类型 | 含义 |
fileDir | const char* | 存放的语音路径 |
char buffer[256]={0};snprintf(buffer, sizeof(buffer), "%sunreal_ptt_local.file", getFilePath().c_str());ITMGContextGetInstance()->GetPTT()->StartRecording(buffer);
ITMGPTT virtual int StopRecording()
ITMGContextGetInstance()->GetPTT()->StopRecording();
参数 | 类型 | 含义 |
result | int32 | 当 code 为 0 时,录制完成 |
filepath | FString | 录制的存放地址,必须是可以访问到的路径,不可将 fileid 作为路径 |
错误码值 | 原因 | 建议方案 |
4097 | 参数为空 | 检查代码中接口参数是否正确 |
4098 | 初始化错误 | 检查设备是否被占用,或者权限是否正常,是否初始化正常 |
4099 | 正在录制中 | 确保在正确的时机使用 SDK 录制功能 |
4100 | 没有采集到音频数据 | 检查麦克风设备是否正常 |
4101 | 录音时,录制文件访问错误 | 确保文件存在,文件路径的合法性 |
4102 | 麦克风未授权错误 | 使用 SDK 需要麦克风权限,添加权限请参考对应引擎或平台的 SDK 工程配置文档 |
4103 | 录音时间太短错误 | 首先,限制录音时长的单位为毫秒,检查参数是否正确;其次,录音时长要1000毫秒以上才能成功录制 |
4104 | 没有启动录音操作 | 检查是否已经调用启动录音接口 |
void TMGTestScene::OnEvent(ITMG_MAIN_EVENT_TYPE eventType,const char* data){switch (eventType) {...else if (eventType == ITMG_MAIN_EVNET_TYPE_PTT_RECORD_COMPLETE) {int32 result = JsonObject->GetIntegerField(TEXT("result"));FString filepath = JsonObject->GetStringField(TEXT("file_path"));std::string path = TCHAR_TO_UTF8(filepath.operator*());int duration = 0;int filesize = 0;if (result == 0) {duration = ITMGContextGetInstance()->GetPTT()->GetVoiceFileDuration(path.c_str());filesize = ITMGContextGetInstance()->GetPTT()->GetFileSize(path.c_str());}onPttRecordFileCompleted(result, filepath, duration, filesize);}}}
ITMGPTT virtual int PauseRecording()
ITMGContextGetInstance()->GetPTT()->PauseRecording();
ITMGPTT virtual int ResumeRecording()
ITMGContextGetInstance()->GetPTT()->ResumeRecording();
ITMGPTT virtual int CancelRecording()
ITMGContextGetInstance()->GetPTT()->CancelRecording();
接口 | 接口含义 |
UploadRecordedFile | 上传语音文件 |
DownloadRecordedFile | 下载语音文件 |
PlayRecordedFile | 播放语音 |
StopPlayFile | 停止播放语音 |
GetFileSize | 语音文件的大小 |
GetVoiceFileDuration | 语音文件的时长 |
ITMGPTT virtual int UploadRecordedFile(const char* filePath)
参数 | 类型 | 含义 |
filePath | const char* | 上传的语音路径,此路径为本地路径 |
ITMGContextGetInstance()->GetPTT()->UploadRecordedFile(filePath);
参数 | 类型 | 含义 |
result | int32 | 当 code 为0时,录制完成 |
filepath | FString | 录制的存放地址 |
fileid | FString | 文件的 url 路径 |
错误码值 | 原因 | 建议方案 |
8193 | 上传文件时,文件访问错误 | 确保文件存在,文件路径的合法性 |
8194 | 签名校验失败错误 | 检查鉴权密钥是否正确,检查是否有初始化离线语音 |
8195 | 网络错误 | 检查设备网络是否可以正常访问外网环境 |
8196 | 获取上传参数过程中网络失败 | 检查鉴权是否正确,检查设备网络是否可以正常访问外网环境 |
8197 | 获取上传参数过程中回包数据为空 | 检查鉴权是否正确,检查设备网络是否可以正常访问外网环境 |
8198 | 获取上传参数过程中回包解包失败 | 检查鉴权是否正确,检查设备网络是否可以正常访问外网环境 |
8200 | 没有设置 appinfo | 检查 apply 接口是否有调用,或者入参是否为空 |
void TMGTestScene::OnEvent(ITMG_MAIN_EVENT_TYPE eventType,const char* data){switch (eventType) {...else if (eventType == ITMG_MAIN_EVNET_TYPE_PTT_UPLOAD_COMPLETE) {int32 result = JsonObject->GetIntegerField(TEXT("result"));FString filepath = JsonObject->GetStringField(TEXT("file_path"));FString fileid = JsonObject->GetStringField(TEXT("file_id"));onPttUploadFileCompleted(result, filepath, fileid);}}}
ITMGPTT virtual int DownloadRecordedFile(const char* fileId, const char* filePath)
参数 | 类型 | 含义 |
fileId | const char* | 文件的 url 路径 |
filePath | const char* | 文件的本地保存路径 |
ITMGContextGetInstance()->GetPTT()->DownloadRecordedFile(fileID,filePath);
参数 | 类型 | 含义 |
result | int32 | 当 code 为0时,录制完成 |
filepath | FString | 录制的存放地址 |
fileid | FString | 文件的 url 路径,录音在服务器存放 90 天 |
错误码值 | 原因 | 建议方案 |
12289 | 下载文件时,文件访问错误 | 检查文件路径是否合法 |
12290 | 签名校验失败 | 检查鉴权密钥是否正确,检查是否有初始化离线语音 |
12291 | 网络存储系统异常 | 服务器获取语音文件失败,检查接口参数 fileid 是否正确,检查网络是否正常,检查 COS 文件存不存在 |
12292 | 服务器文件系统错误 | 检查设备网络是否可以正常访问外网环境,检查服务器上是否有此文件 |
12293 | 获取下载参数过程中,HTTP 网络失败 | 检查设备网络是否可以正常访问外网环境 |
12294 | 获取下载参数过程中,回包数据为空 | 检查设备网络是否可以正常访问外网环境 |
12295 | 获取下载参数过程中,回包解包失败 | 检查设备网络是否可以正常访问外网环境 |
12297 | 没有设置 appinfo | 检查鉴权密钥是否正确,检查是否有初始化离线语音 |
void TMGTestScene::OnEvent(ITMG_MAIN_EVENT_TYPE eventType,const char* data){switch (eventType) {...else if (eventType == ITMG_MAIN_EVNET_TYPE_PTT_DOWNLOAD_COMPLETE) {int32 result = JsonObject->GetIntegerField(TEXT("result"));FString filepath = JsonObject->GetStringField(TEXT("file_path"));FString fileid = JsonObject->GetStringField(TEXT("file_id"));onPttDownloadFileCompleted(result, filepath, fileid);}}}
ITMGPTT virtual int PlayRecordedFile(const char* filePath)ITMGPTT virtual int PlayRecordedFile(const char* filePath, nt voiceType)
参数 | 类型 | 含义 |
filePath | const char* | 本地语音文件的路径 |
voicetype | int | 变声类型,请参见 变声接入文档 |
错误码值 | 原因 | 建议方案 |
20485 | 播放未开始 | 确保文件存在,文件路径的合法性 |
ITMGContextGetInstance()->GetPTT()->PlayRecordedFile(filePath);
参数 | 类型 | 含义 |
code | int | 当 code 为0时,播放完成 |
filepath | FString | 录制的存放地址 |
错误码值 | 原因 | 建议方案 |
20481 | 初始化错误 | 检查设备是否被占用,或者权限是否正常,是否初始化正常 |
20482 | 正在播放中,试图打断并播放下一个失败了(正常是可以打断的) | 检查代码逻辑是否正确 |
20483 | 参数为空 | 检查代码中接口参数是否正确 |
20484 | 内部错误 | 初始化播放器错误,解码失败等问题产生此错误码,需要结合日志定位问题 |
void TMGTestScene::OnEvent(ITMG_MAIN_EVENT_TYPE eventType,const char* data){switch (eventType) {...else if (eventType == ITMG_MAIN_EVNET_TYPE_PTT_PLAY_COMPLETE) {int32 result = JsonObject->GetIntegerField(TEXT("result"));FString filepath = JsonObject->GetStringField(TEXT("file_path"));onPttPlayFileCompleted(result, filepath);}}}
ITMGPTT virtual int StopPlayFile()
ITMGContextGetInstance()->GetPTT()->StopPlayFile();
ITMGPTT virtual int GetFileSize(const char* filePath)
参数 | 类型 | 含义 |
filePath | const char* | 语音文件的路径,此路径为本地路径 |
ITMGContextGetInstance()->GetPTT()->GetFileSize(filePath);
ITMGPTT virtual int GetVoiceFileDuration(const char* filePath)
参数 | 类型 | 含义 |
filePath | const char* | 语音文件的路径,此路径为本地路径 |
ITMGContextGetInstance()->GetPTT()->GetVoiceFileDuration(filePath);
接口 | 接口含义 |
SpeechToText | 语音识别成文字 |
ITMGPTT virtual void SpeechToText(const char* fileID)
参数 | 类型 | 含义 |
fileID | const char* | 语音文件 url |
ITMGContextGetInstance()->GetPTT()->SpeechToText(fileID);
ITMGPTT virtual int SpeechToText(const char* fileID,const char* speechLanguage)ITMGPTT virtual int SpeechToText(const char* fileID,const char* speechLanguage,const char* translateLanguage)
ITMGContextGetInstance()->GetPTT()->SpeechToText(filePath,"cmn-Hans-CN","cmn-Hans-CN");
参数 | 类型 | 含义 |
result | int32 | 当 code 为0时,录制完成 |
fileid | FString | 语音文件 url,录音在服务器存放 90 天 |
text | FString | 转换的文本结果 |
错误码值 | 原因 | 建议方案 |
32769 | 内部错误 | 分析日志,获取后台返回给客户端的真正错误码,并联系后台同事协助解决 |
32770 | 网络失败 | 检查设备网络是否可以正常访问外网环境 |
32772 | 回包解包失败 | 分析日志,获取后台返回给客户端的真正错误码,并联系后台同事协助解决 |
32774 | 没有设置 appinfo | 检查鉴权密钥是否正确,检查是否有初始化离线语音 |
32776 | authbuffer 校验失败 | 检查 authbuffer 是否正确 |
32784 | 语音转文本参数错误 | 检查代码中接口参数 fileid 是否为空 |
32785 | 语音转文本翻译返回错误 | 离线语音后台错误,请分析日志,获取后台返回给客户端的真正错误码,并联系后台同事协助解决 |
32787 | 转文本成功,文本翻译服务未开通 | 需要在控制台开通文本翻译服务 |
32788 | 转文本成功,文本翻译语言参数不支持 | 重新检查传入参数 |
void TMGTestScene::OnEvent(ITMG_MAIN_EVENT_TYPE eventType,const char* data){switch (eventType) {...else if (eventType == ITMG_MAIN_EVNET_TYPE_PTT_SPEECH2TEXT_COMPLETE) {int32 result = JsonObject->GetIntegerField(TEXT("result"));FString text = JsonObject->GetStringField(TEXT("text"));FString fileid = JsonObject->GetStringField(TEXT("file_id"));onPttSpeech2TextCompleted(result, fileid, text);}}}
接口 | 接口含义 |
GetMicLevel | 获取实时麦克风音量 |
SetMicVolume | 设置录制音量 |
GetMicVolume | 获取录制音量 |
GetSpeakerLevel | 获取实时扬声器音量 |
SetSpeakerVolume | 设置播放音量 |
GetSpeakerVolume | 获取播放音量 |
ITMGPTT virtual int GetMicLevel()
ITMGContext.GetInstance(this).GetPTT().GetMicLevel();
ITMGPTT virtual int SetMicVolume(int vol)
ITMGContextGetInstance()->GetPTT()->SetMicVolume(100);
ITMGPTT virtual int GetMicVolume()
ITMGContextGetInstance()->GetPTT()->GetMicVolume();
ITMGPTT virtual int GetSpeakerLevel()
ITMGContextGetInstance()->GetPTT()->GetSpeakerLevel();
ITMGPTT virtual int SetSpeakerVolume(int vol)
ITMGContextGetInstance()->GetPTT()->SetSpeakerVolume(100);
ITMGPTT virtual int GetSpeakerVolume()
ITMGContextGetInstance()->GetPTT()->GetSpeakerVolume();
ITMGContext virtual const char* GetSDKVersion()
ITMGContextGetInstance()->GetSDKVersion();
ITMGContext int SetLogLevel(ITMG_LOG_LEVEL levelWrite, ITMG_LOG_LEVEL levelPrint)
参数 | 类型 | 含义 |
levelWrite | ITMG_LOG_LEVEL | 设置写入日志的等级,TMG_LOG_LEVEL_NONE 表示不写入,默认为 TMG_LOG_LEVEL_INFO |
levelPrint | ITMG_LOG_LEVEL | 设置打印日志的等级,TMG_LOG_LEVEL_NONE 表示不打印,默认为 TMG_LOG_LEVEL_ERROR |
ITMG_LOG_LEVEL | 含义 |
TMG_LOG_LEVEL_NONE | 不打印日志 |
TMG_LOG_LEVEL_ERROR | 打印错误日志(默认) |
TMG_LOG_LEVEL_INFO | 打印提示日志 |
TMG_LOG_LEVEL_DEBUG | 打印开发调试日志 |
TMG_LOG_LEVEL_VERBOSE | 打印高频日志 |
ITMGContextGetInstance()->SetLogLevel(TMG_LOG_LEVEL_INFO,TMG_LOG_LEVEL_INFO);
平台 | 路径 |
Windows | %appdata%\\Tencent\\GME\\ProcessName |
iOS | Application/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/Documents |
Android | /sdcard/Android/data/xxx.xxx.xxx/files |
Mac | /Users/username/Library/Containers/xxx.xxx.xxx/Data/Documents |
ITMGContext virtual int SetLogPath(const char* logDir)
参数 | 类型 | 含义 |
logDir | const char* | 路径 |
cosnt char* logDir = ""//自行设置路径ITMGContext* context = ITMGContextGetInstance();context->SetLogPath(logDir);
消息 | 含义 | Data | 例子 |
ITMG_MAIN_EVENT_TYPE_ENTER_ROOM | 进入音频房间消息 | result; error_info | {"error_info":"","result":0} |
ITMG_MAIN_EVENT_TYPE_EXIT_ROOM | 退出音频房间消息 | result; error_info | {"error_info":"","result":0} |
ITMG_MAIN_EVENT_TYPE_ROOM_DISCONNECT | 房间因为网络等原因断开消息 | result; error_info | {"error_info":"waiting timeout, please check your network","result":0} |
ITMG_MAIN_EVNET_TYPE_USER_UPDATE | 房间成员更新消息 | user_list; event_id | {"event_id":1,"user_list":["0"]} |
ITMG_MAIN_EVENT_TYPE_RECONNECT_START | 房间重连开始消息 | result; error_info | {"error_info":"","result":0} |
ITMG_MAIN_EVENT_TYPE_RECONNECT_SUCCESS | 房间重连成功消息 | result; error_info | {"error_info":"","result":0} |
ITMG_MAIN_EVENT_TYPE_SWITCH_ROOM | 快速切换房间消息 | result; error_info | {"error_info":"","result":0} |
ITMG_MAIN_EVENT_TYPE_CHANGE_ROOM_TYPE | 房间状态切换消息 | result; error_info; sub_event_type; new_room_type | {"error_info":"","new_room_type":0,"result":0} |
ITMG_MAIN_EVENT_TYPE_ROOM_SHARING_START | 开始跨房连麦消息 | result; | {"result":0} |
ITMG_MAIN_EVENT_TYPE_ROOM_SHARING_STOP | 跨房连麦停止消息 | result; | {"result":0} |
ITMG_MAIN_EVENT_TYPE_SPEAKER_DEFAULT_DEVICE_CHANGED | 默认扬声器设备修改消息 | result; error_info | {"deviceID":"{0.0.0.00000000}.{a4f1e8be-49fa-43e2-b8cf-dd00542b47ae}","deviceName":"扬声器 (Realtek High Definition Audio)","error_info":"","isNewDevice":true,"isUsedDevice":false,"result":0} |
ITMG_MAIN_EVENT_TYPE_SPEAKER_NEW_DEVICE | 新增扬声器设备消息 | result; error_info | {"deviceID":"{0.0.0.00000000}.{a4f1e8be-49fa-43e2-b8cf-dd00542b47ae}","deviceName":"扬声器 (Realtek High Definition Audio)","error_info":"","isNewDevice":true,"isUsedDevice":false,"result":0} |
ITMG_MAIN_EVENT_TYPE_SPEAKER_LOST_DEVICE | 丢失扬声器设备消息 | result; error_info | {"deviceID":"{0.0.0.00000000}.{a4f1e8be-49fa-43e2-b8cf-dd00542b47ae}","deviceName":"扬声器 (Realtek High Definition Audio)","error_info":"","isNewDevice":false,"isUsedDevice":false,"result":0} |
ITMG_MAIN_EVENT_TYPE_MIC_NEW_DEVICE | 新增麦克风设备消息 | result; error_info | {"deviceID":"{0.0.1.00000000}.{5fdf1a5b-f42d-4ab2-890a-7e454093f229}","deviceName":"麦克风 (Realtek High Definition Audio)","error_info":"","isNewDevice":true,"isUsedDevice":true,"result":0} |
ITMG_MAIN_EVENT_TYPE_MIC_LOST_DEVICE | 丢失麦克风设备消息 | result; error_info | {"deviceID":"{0.0.1.00000000}.{5fdf1a5b-f42d-4ab2-890a-7e454093f229}","deviceName":"麦克风 (Realtek High Definition Audio)","error_info":"","isNewDevice":false,"isUsedDevice":true,"result":0} |
ITMG_MAIN_EVENT_TYPE_MIC_DEFAULT_DEVICE_CHANGED | 默认麦克风设备修改消息 | result; error_info | {"deviceID":"{0.0.1.00000000}.{5fdf1a5b-f42d-4ab2-890a-7e454093f229}","deviceName":"麦克风 (Realtek High Definition Audio)","error_info":"","isNewDevice":false,"isUsedDevice":true,"result":0} |
ITMG_MAIN_EVENT_TYPE_CHANGE_ROOM_QUALITY | 房间质量消息 | weight; loss; delay | {"weight":5,"loss":0.1,"delay":1} |
ITMG_MAIN_EVNET_TYPE_PTT_RECORD_COMPLETE | 语音消息录制完成消息 | result; file_path | {"file_path":"","result":0} |
ITMG_MAIN_EVNET_TYPE_PTT_UPLOAD_COMPLETE | 语音消息上传完成消息 | result; file_path;file_id | {"file_id":"","file_path":"","result":0} |
ITMG_MAIN_EVNET_TYPE_PTT_DOWNLOAD_COMPLETE | 语音消息下载完成消息 | result; file_path;file_id | {"file_id":"","file_path":"","result":0} |
ITMG_MAIN_EVNET_TYPE_PTT_PLAY_COMPLETE | 语音消息播放完成消息 | result; file_path | {"file_path":"","result":0} |
ITMG_MAIN_EVNET_TYPE_PTT_SPEECH2TEXT_COMPLETE | 语音消息极速转文本完成消息 | result; text;file_id | {"file_id":"","text":"","result":0} |
ITMG_MAIN_EVNET_TYPE_PTT_STREAMINGRECOGNITION_COMPLETE | 语音消息流式转文本完成消息 | result; file_path; text;file_id | {"file_id":"","file_path":","text":"","result":0} |
ITMG_MAIN_EVNET_TYPE_PTT_STREAMINGRECOGNITION_IS_RUNNING | 语音消息正在流式转文本中 | result; file_path; text;file_id | {"file_id":"","file_path":","text":"","result":0} |
ITMG_MAIN_EVNET_TYPE_PTT_TEXT2SPEECH_COMPLETE | 文本转语音完成消息 | result; text;file_id | {"file_id":"","text":"","result":0} |
ITMG_MAIN_EVNET_TYPE_PTT_TRANSLATE_TEXT_COMPLETE | 文本翻译完成消息 | result; text;file_id | {"file_id":"","text":"","result":0} |
本页内容是否解决了您的问题?