2021-02-21 14:27:19
初始化前确定当前sdk运行的环境:
IolMtConfig.isDebug = false为正式环境,默认是true为debug环境。(建议在application中进行)
初始化完成后就可以进行翻译工作了。
创建IolMtClient实例——>设置语种方向——>执行对应的翻译方法
srcLangCode:源语种代码(例如:zh、en);
tarLangCode:目标语种代码;
翻译结果是通过异步回调的形式进行(所有回调均在主线程中执行),返回结果通过ResultCode来判断是否成功;
ResultCode介绍:翻译结果的状态码,ResultCode.OK代表翻译成功。具体详细介绍查看后文code列表。
获取支持文本翻译的语种列表:LangCodeMatcher.getTextMtSupportLangList();
获取支持图片翻译的语种列表:LangCodeMatcher.getImageMtSupportLangList();
获取支持语音文件翻译的语种列表:LangCodeMatcher.getAudioMtSupportLangList();
判断指定语种是否支持tts:LangCodeMatcher.isSupportTts(langCode);
判断指定语种是否支持实时语音翻译(识别中状态时原译文同时出结果):LangCodeMatcher.isSupportMsTrans(langCode)。
text:需要合成语音的文本;
voiceFilePath:合成语音文件的保存路径;
langCode:文本语种代码(zh、en等);
onTtsListener:合成结果的回调;
onSuccess(String filepath):合成成功,filePath合成的语音文件的路径;
onFail(String msg):合成失败,msg是表示失败的原因。
| Code | 描述 |
| ResultCode.OK | 翻译成功 |
| ResultCode.FAILED | 翻译失败 |
| ResultCode.ERROR_TIME_OUT | 请求超时 |
| ResultCode.ERROR_NET_WORK_INTERRUPT | 超时未检测到有效输入 |
| ResultCode.ERROR_IO_EXCEPTION | 音频文件写入流发生异常 |
| ResultCode.ERROR_ASR_INTERRUPT | ASR识别中断 |
| ResultCode.ERROR_ASR_NO_MATCH | ASR识别失败,一般是语音不清晰 |
| ResultCode.ERROR_UN_KNOW | 未知错误 |
| ResultCode.ERROR_IMG_SIZE | 图片超过1.0m |
| ResultCode.ERROR_FILE_PATH | 文件路径不对 |
| ResultCode.ERROR_AUDIO_TIME_OVER | 音频文件时常超过60s |
| ResultCode.ERROR_LANG_NOT_SUPPORT | 所选语种不支持 |
| ResultCode.ERROR_NOT_INIT | asr引擎未初始化 |
| ResultCode.ERROR_NOT_SUPPORT_TTS | 所选语种不支持tts |
content:需要翻译的文本内容,最长不可超过5000字符;
MtResultEvent:文本翻译结果的回调类;
onMtResult(TextResult result):翻译无论成功还是失败都会回调onMtResult方法,result是结果的包装体,通过result.resultCode获取翻译结果的状态;
result.transText就是翻译成功后的译文结果。
imageFilePath:图片文件的绝对路径。注意图片大小不可超过1.0M;
FileMtResultEvent:图片翻译的回调;
onFileUploadProgress(int progress):图片上传进度回调;
onFileMtStart():图片上传成功后,识别开始的回调;
onMtResult(ImageResult result):识别完成的结果,result是原文和译文每一句话一一对照的结果列表。其中包含每一句话的在图片上的坐标位置,以图片的左上角为原点(0,0)。(便于用户可以在原图上进行译文的绘制)
audioFilePath:源语音文件的绝对路径。注意文件格式为wav,时长不可超过60s;
AudioMtResultEvent:语音文件翻译的回调;
onRecognizing(AudioResult.AudioMt audioResult):语音文件识别的实时结果,也就是当前正在识别的那一句话的中间结果。audioResult.srcText为当前的原文实时文本;
onTranslated(AudioResult.AudioMt audioResult):识别到完整句子的时候的回调。audioResult.srcText该完整句子的原文,audioResult.transText该完整句子对应的译文;
onTranslatedAudio(AudioResult.AudioMt audioResult):识别到的完整句子的 译文成功合成语音后的回调。audioResult.srcText该完整句子的原文,audioResult.transText该完整句子对应的译文,audioResult.audioFilePath合成 的译文语音文件的路径;
onMtResult(AudioResult result):源语音文件识别翻译合成完成后的整体回调,result包含所有完整句子的结果列表。
AudioTranslatedCallback:
onStart():实时语音翻译启动成功,此时麦克风已经开始采集用户声音了;
onRecognizing(AsrText srcResult, AsrText tarResult):实时识别到的中间原文和实时翻译到的译文结果;
onTranslated(AsrText srcResult, AsrText tarResult):完整句子的原文和译文结果,类似上面的语音文件翻译;
onError(int errorCode, String result):翻译出错,result是ResultCode类枚举名称,类似ERROR_NET_WORK_INTERRUPT等;
onStop():成功停止了语音翻译。
注:想要了解详细情况请访问语到开放平台