GmeContext Gme业务实现接口GmeError Gme 错误码定义类
接口 | 接口含义 |
Init | 初始化 GME |
Poll | 触发事件回调 |
Uninit | 反初始化 GME |
const { GmeContext } = require('gme-electron-sdk');
Init(appid: string, openid: string): number;
返回值 | 处理 |
GmeError.AV_OK= 0 | 初始化 SDK 成功 |
AV_ERR_SDK_NOT_FULL_UPDATE=7015 | 检查 SDK 文件是否完整,建议删除后重新导入 SDK |
number ret = m_context.Init(sdkAppId, openID);//通过返回值判断是否初始化成功if (ret != GmeError.AV_OK){console.log("SDK初始化失败:");return;}
Poll();
setInterval(function () {m_context.Poll();}, 50);
Uninit() : number
接口 | 接口含义 |
GenAuthBuffer | 获取鉴权信息 |
SetMaxMessageLength | 限制最大语音信息时长 |
GenAuthBuffer(appId: string,roomId: string, openId:string, appKey: string) :string
参数 | 类型 | 含义 |
appId | string | 来自腾讯云控制台的 AppId 号码 |
roomId | string | 填 null 或者空字符串 |
openId | string | 用户标识。与 Init 时候的 OpenId 相同 |
key | string |
ApplyPTTAuthbuffer(authBuffer: string) :number
参数 | 类型 | 含义 |
authBuffer | string | 鉴权 |
var authBuffer = m_context.GetAuthBuffer(UserConfig.GetAppID(), UserConfig.GetUserID(), null,UserConfig.GetAuthKey());m_context.ApplyPTTAuthbuffer(authBuffer);
PttSetMaxMessageLength(msTime: number) :number
参数 | 类型 | 含义 |
msTime | number | 语音时长,单位 ms,区间为 1000 < msTime < = 58000 |
m_context.PttSetMaxMessageLength(58000);
接口 | 接口含义 |
PttStartRecordingWithStreamingRecognition | 启动流式录音 |
PttStopRecording | 停止录音 |
PttStartRecordingWithStreamingRecognition(filePath: string, speechLanguage: string, translateLanguage: string) :number
string filePath = "xx/xxx/xxx.silk"var ret = m_context.StartRecordingWithStreamingRecognition(filePath,"cmn-Hans-CN","cmn-Hans-CN");if (ret == 0) {this.currentStatus = "开始流式录音";} else {this.currentStatus = "开始流式录音失败";}
消息名称 | 含义 |
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 | 转文本成功,文本翻译语言参数不支持 | 重新检查传入参数 |
m_context.setTMGDelegate(function(eventId, msg){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;}}});
接口 | 接口含义 |
PttStartRecording | 启动录音 |
PttPauseRecording | 暂停录音 |
PttResumeRecording | 恢复录音 |
PttStopRecording | 停止录音 |
PttCancelRecording | 取消录音 |
PttStartRecording(filePath: string) : number;
参数 | 类型 | 含义 |
filePath | string | 存放的语音路径 |
string filepath = "xxxx/xxx.silk";var ret = m_context.PttStartRecording(filepath);
PttStopRecording() :number;
m_context.PttStopRecording();
参数 | 类型 | 含义 |
code | string | 当 code 为 0 时,录制完成 |
filepath | string | 录制的存放地址,必须是可以访问到的路径,不可将 fileid 作为路径 |
错误码值 | 原因 | 建议方案 |
4097 | 参数为空 | 检查代码中接口参数是否正确 |
4098 | 初始化错误 | 检查设备是否被占用,或者权限是否正常,是否初始化正常 |
4099 | 正在录制中 | 确保在正确的时机使用 SDK 录制功能 |
4100 | 没有采集到音频数据 | 检查麦克风设备是否正常 |
4101 | 录音时,录制文件访问错误 | 确保文件存在,文件路径的合法性 |
4102 | 麦克风未授权错误 | 使用 SDK 需要麦克风权限,添加权限请参考对应引擎或平台的 SDK 工程配置文档 |
4103 | 录音时间太短错误 | 首先,限制录音时长的单位为毫秒,检查参数是否正确;其次,录音时长要1000毫秒以上才能成功录制 |
4104 | 没有启动录音操作 | 检查是否已经调用启动录音接口 |
m_context.setTMGDelegate(function(eventId, msg){switch (eventType) {case ITMG_MAIN_EVENT_TYPE_ENTER_ROOM:{//进行处理break;}...case ITMG_MAIN_EVNET_TYPE_PTT_RECORD_COMPLETE:{//进行处理break;}}});
PttPauseRecording() : number
number ret = m_context.PttPauseRecording();
PttResumeRecording() : number;
number ret = m_context.PttResumeRecording();
PttCancelRecording() : number
m_context.PttCancelRecording();
接口 | 接口含义 |
PttUploadRecordedFile | 上传语音文件 |
PttDownloadRecordedFile | 下载语音文件 |
PttPlayRecordedFile | 播放语音 |
PttStopPlayFile | 停止播放语音 |
PttGetFileSize | 语音文件的大小 |
PttGetVoiceFileDuration | 语音文件的时长 |
PttUploadRecordedFile(filePath: string) : number
参数 | 类型 | 含义 |
filePath | String | 上传的语音路径,此路径为本地路径 |
var ret = m_context.PttUploadRecordedFile(filePath);
参数 | 类型 | 含义 |
result | number | 当 code 为0时,录制完成 |
filepath | string | 录制的存放地址 |
fileid | string | 文件的 url 路径 |
错误码值 | 原因 | 建议方案 |
8193 | 上传文件时,文件访问错误 | 确保文件存在,文件路径的合法性 |
8194 | 签名校验失败错误 | 检查鉴权密钥是否正确,检查是否有初始化离线语音 |
8195 | 网络错误 | 检查设备网络是否可以正常访问外网环境 |
8196 | 获取上传参数过程中网络失败 | 检查鉴权是否正确,检查设备网络是否可以正常访问外网环境 |
8197 | 获取上传参数过程中回包数据为空 | 检查鉴权是否正确,检查设备网络是否可以正常访问外网环境 |
8198 | 获取上传参数过程中回包解包失败 | 检查鉴权是否正确,检查设备网络是否可以正常访问外网环境 |
8200 | 没有设置 appinfo | 检查 apply 接口是否有调用,或者入参是否为空 |
m_context.setTMGDelegate(function(eventId, msg){switch (eventType) {case ITMG_MAIN_EVENT_TYPE_ENTER_ROOM:{//进行处理break;}...case ITMG_MAIN_EVNET_TYPE_PTT_UPLOAD_COMPLETE:{//进行处理break;}}});
PttDownloadRecordedFile(fileId: string, filePath: string) : number
参数 | 类型 | 含义 |
fileId | string | 文件的 url 路径 |
filePath | string | 文件的本地保存路径,必须是可以访问到的路径,不可将 fileid 作为路径 |
var ret = m_context.PttDownloadRecordedFile(fileID,filePath);
参数 | 类型 | 含义 |
result | number | 当 code 为0时,下载完成 |
filepath | string | 录制的存放地址 |
fileid | string | 文件的 url 路径,录音在服务器存放 90 天 |
错误码值 | 原因 | 建议方案 |
12289 | 下载文件时,文件访问错误 | 检查文件路径是否合法 |
12290 | 签名校验失败 | 检查鉴权密钥是否正确,检查是否有初始化离线语音 |
12291 | 网络存储系统异常 | 服务器获取语音文件失败,检查接口参数 fileid 是否正确,检查网络是否正常,检查 COS 文件存不存在 |
12292 | 服务器文件系统错误 | 检查设备网络是否可以正常访问外网环境,检查服务器上是否有此文件 |
12293 | 获取下载参数过程中,HTTP 网络失败 | 检查设备网络是否可以正常访问外网环境 |
12294 | 获取下载参数过程中,回包数据为空 | 检查设备网络是否可以正常访问外网环境 |
12295 | 获取下载参数过程中,回包解包失败 | 检查设备网络是否可以正常访问外网环境 |
12297 | 没有设置 appinfo | 检查鉴权密钥是否正确,检查是否有初始化离线语音 |
m_context.setTMGDelegate(function(eventId, msg){switch (eventType) {case ITMG_MAIN_EVENT_TYPE_ENTER_ROOM:{//进行处理break;}}});
PttPlayRecordedFile(filePath: string, voiceType: ITMG_VOICE_TYPE) : number
参数 | 类型 | 含义 |
filePath | string | 本地语音文件的路径 |
voicetype | ITMG_VOICE_TYPE | 变声类型,请参见 变声接入文档 |
错误码值 | 原因 | 建议方案 |
20485 | 播放未开始 | 确保文件存在,文件路径的合法性 |
m_context.PlayRecordedFile(filePath);
参数 | 类型 | 含义 |
code | number | 当 code 为0时,播放完成 |
filepath | string | 录制的存放地址 |
错误码值 | 原因 | 建议方案 |
20481 | 初始化错误 | 检查设备是否被占用,或者权限是否正常,是否初始化正常 |
20482 | 正在播放中,试图打断并播放下一个失败了(正常是可以打断的) | 检查代码逻辑是否正确 |
20483 | 参数为空 | 检查代码中接口参数是否正确 |
20484 | 内部错误 | 初始化播放器错误,解码失败等问题产生此错误码,需要结合日志定位问题 |
m_context.setTMGDelegate(function(eventId, msg){switch (eventType) {case ITMG_MAIN_EVNET_TYPE_PTT_PLAY_COMPLETE:{//进行处理break;}}});
PttStopPlayFile() : number
m_context.PttStopPlayFile();
PttGetFileSize(filePath: string) : number
参数 | 类型 | 含义 |
filePath | string | 语音文件的路径,此路径为本地路径 |
m_context.PttGetFileSize(filePath);
PttGetVoiceFileDuration(filePath: string) : number
参数 | 类型 | 含义 |
filePath | string | 语音文件的路径,此路径为本地路径 |
number fileDuration = m_context.PttGetVoiceFileDuration(filePath);
PttSpeechToText(fileID: string, speechLanguage: string, translateLanguage: string) : number
m_context.PttSpeechToText(filePath,"cmn-Hans-CN","cmn-Hans-CN");
参数 | 类型 | 含义 |
result | number | 当 code 为0时,录制完成 |
fileid | string | 语音文件 url,录音在服务器存放90天 |
text | string | 转换的文本结果 |
错误码值 | 原因 | 建议方案 |
32769 | 内部错误 | 分析日志,获取后台返回给客户端的真正错误码,并联系后台同事协助解决 |
32770 | 网络失败 | 检查设备网络是否可以正常访问外网环境 |
32772 | 回包解包失败 | 分析日志,获取后台返回给客户端的真正错误码,并联系后台同事协助解决 |
32774 | 没有设置 appinfo | 检查鉴权密钥是否正确,检查是否有初始化离线语音 |
32776 | authbuffer 校验失败 | 检查 authbuffer 是否正确 |
32784 | 语音转文本参数错误 | 检查代码中接口参数 fileid 是否为空 |
32785 | 语音转文本翻译返回错误 | 离线语音后台错误,请分析日志,获取后台返回给客户端的真正错误码,并联系后台同事协助解决 |
32787 | 转文本成功,文本翻译服务未开通 | 需要在控制台开通文本翻译服务 |
32788 | 转文本成功,文本翻译语言参数不支持 | 重新检查传入参数 |
m_context.setTMGDelegate(function(eventId, msg){switch (eventType) {case ITMG_MAIN_EVENT_TYPE_ENTER_ROOM:{//进行处理break;}...case ITMG_MAIN_EVNET_TYPE_PTT_SPEECH2TEXT_COMPLETE:{//进行处理break;}});
接口 | 接口含义 |
PttGetMicLevel | 获取实时麦克风音量 |
PttSetMicVolume | 设置录制音量 |
PttGetMicVolume | 获取录制音量 |
PttGetSpeakerLevel | 获取实时扬声器音量 |
PttSetSpeakerVolume | 设置播放音量 |
PttGetSpeakerVolume | 获取播放音量 |
PttGetMicLevel():number
m_context.PttGetMicLevel();
PttSetMicVolume(vol:number) :number
参数 | 类型 | 含义 |
vol | number | 取值范围为 0-200,数值为0的时候表示静音,当数值为100的时候表示音量不增不减,默认数值为100。 |
m_context.PttSetMicVolume(vol);
PttGetMicVolume() : number
m_context.PttGetMicVolume();
PttGetSpeakerLevel() : number;
m_context.PttGetSpeakerLevel();
PttSetSpeakerVolume(vol: number) : number
m_context.PttSetSpeakerVolume(100);
PttGetSpeakerVolume() : number
m_context.PttGetSpeakerVolume();
GetSDKVersion() :string
string sdkVersion = m_context.GetSDKVersion();
SetLogLevel(level: number) : number
参数 | 类型 | 含义 |
level | ITMG_LOG_LEVEL | 设置写入日志的等级,TMG_LOG_LEVEL_NONE 表示不写入,默认为 TMG_LOG_LEVEL_INFO |
level | 含义 |
TMG_LOG_LEVEL_NONE | 不打印日志 |
TMG_LOG_LEVEL_ERROR | 打印错误日志(默认) |
TMG_LOG_LEVEL_INFO | 打印提示日志 |
TMG_LOG_LEVEL_DEBUG | 打印开发调试日志 |
TMG_LOG_LEVEL_VERBOSE | 打印高频日志 |
m_context.SetLogLevel(TMG_LOG_LEVEL_INFO);
平台 | 路径 |
Windows | %appdata%\\GMEGLOBAL\\GME\\ProcessName |
SetLogPath(logPath: string)
参数 | 类型 | 含义 |
logPath | string | 路径 |
string logDir = ""//自行设置路径m_context.SetLogPath(logDir);
本页内容是否解决了您的问题?