[[ITMGContext GetInstance] SetAdvanceParams:keyString value:_value]
参数 | 含义 |
keyString | 不同的 Key 代表不同的功能 |
value | 0:代表关闭 1:代表开启 |
CheckDeviceMuteState();
SetAdvanceParams(“BluetoothUseMedia”, “1”);
virtual int SetRecvMixStreamCount(int nCount) = 0;
参数 | 含义 |
nCount | 混音路数,最大为20 |
[[ITMGContext GetInstance] SetAdvanceParams:SetForceUseMediaVol value:1]
TIMGContext.ITMG_MAIN_EVENT_TYPE.ITMG_MAIN_EVENT_TYPE_USER_VOLUMES 事件,里面的键值对为 uin-volume,通过此接口可以根据房间内某 uin 说话的音量强度画出相应的能量柱状图。//TMGAudioCtrlpublic int TrackingVolume(float fTrackingTimeS)public int StopTrackingVolume();
参数 | 类型 | 含义 |
fTrackingTimeS | float | 监听的秒数,建议设置为 0.5f |
SetAdvanceParams("StringOpenID", "1");
SetAdvanceParams(const char* key, const char* object)
参数 | 类型 | 含义 |
key | const char* | MAX_LOG_FILE_SIZE_MB 和 MAX_LOG_FILE_COUNT,分别代表单个日志的大小和日志的数量。 |
object | const char* | 当key 为 MAX_LOG_FILE_SIZE_MB 时,object 为 Log 文件大小默认值,取值范围(单位M):5至50;当 key 为 MAX_LOG_FILE_COUNT 时,object 为 Log 文件个数默认值,取值范围:1至3。 |
SetAdvanceParams("MAX_LOG_FILE_SIZE_MB", "5");SetAdvanceParams("MAX_LOG_FILE_COUNT", "1");
virtual int TranslateText(const char* text, const char* sourceLanguage, const char* translateLanguage) = 0;
参数 | 类型 | 含义 |
text | const char* | 待翻译的文本,不可为空,最大长度5000字符 |
sourceLanguage | const char* | 指定待翻译文本的语言,可为空,后台自动检测语音 |
translateLanguage | const char* | 指定文本翻译后的语言,不可为空,以英文逗号作为间隔,如"cmn-Hans-CN,en-GB"、"cmn-Hans-CN" |
参数 | 类型 | 含义 |
code | int | |
targetText | jason(Unity 中返回 string 格式) | 翻译后的目标文本,例如 {"target_text":[{"target_language_code":"cmn-Hans-CN","target_text":"我是中国人"},{"target_language_code":"de-DE","target_text":"Ich bin Chinese"}]} |
ITMGContext.GetInstance().GetPttCtrl().OnTranslateTextComplete+= OnTranslateTextComplete;
private void OnTranslateTextBtn(){mTargetText.text = "";int ret = ITMGContext.GetInstance().GetPttCtrl().TranslateText(mSourceText. text, mSourceLanguageText.text, mTargetLanguageText.text);if (0 != ret){mTargetText.text = "Invalid Atgument";}}
void OnTranslateTextComplete(int code, string targetText){if (0 == code){mTargetText.text = targetText;}else{mTargetText.text = String.Format("Translate Text Error, Error Code:{0}", code);}}
ITMGContext.GetInstance().GetPttCtrl().OnTranslateTextComplete-= OnTranslateTextComplete;
virtual int TextToSpeech(const char* text, const char* voiceName,const char* languageCode, float speakingRate) = 0;
参数 | 类型 | 含义 |
text | const char* | 原始文本,不可为空,最大长度5000字符 |
voiceName | const char* | |
languageCode | const char* | 指定目标语言。不可为空 |
speakingRate | float | 音频语速,取值范围 [0.6-1.5],1代表正常速度 |
声音类型 | 性别 | 语言 |
cmn-CN-Standard-A | 女声 | 普通话 |
cmn-CN-Standard-B | 男声 | 普通话 |
en-US-Neural2-A | 女声 | 英语 |
en-US-Neural2-B | 男声 | 英语 |
参数 | 类型 | 含义 |
code | int | |
isCos | bool | 文件是否上传到 COS |
fileID | string | 文件 ID,提供下载接口入参,可以通过 DownloadRecordedFile 接口下载音频 |
ITMGContext.GetInstance().GetPttCtrl().OnTextToSpeechComplete += new QAVTextToSpeechCallback(TextToSpeechComplate);
void OnTextToSpeech(){float fSpeakingRate;if (!float.TryParse(mSpeakingRate.text, out fSpeakingRate)){mReturnData.text = "SpeakingRate invalid";return;}int iRet = ITMGContext.GetInstance().GetPttCtrl().TextToSpeech(mSouceText.text, mVoiceName.text,mLanguageCode.text, fSpeakingRate);Debug.Log(string.Format("TextToSpeech Code:{0}", iRet));if (0 != iRet){mReturnData.text = string.Format("TextToSpeech Error, errorCode:{0}", iRet);return;}}
void TextToSpeechComplate(int code, bool isCos, string fileID){Debug.Log(string.Format("TextToSpeechComplate Code:{0}", code));if (0 != code){mReturnData.text = string.Format("TextToSpeech Error, errorCode:{0}", code);return;}mReturnData.text = string.Format("code:{0}\\r\\nisCos:{1}\\r\\nfileID:{2}", code, isCos, fileID);mDownloadUrl.text = fileID;}
ITMGContext.GetInstance().GetPttCtrl().OnTextToSpeechComplete -= new QAVTextToSpeechCallback(TextToSpeechComplate);
文档反馈