using GME;
int ret = ITMGContext.GetInstance().Init(sdkAppId, openID);
//class ITMGContextpublic abstract int Init(string sdkAppID, string openID);
パラメータ | タイプ | 意味 |
sdkAppId | string | |
openID | string | openIDはInt64型(stringに変換して渡す)のみに対応しており、ルールはApp開発者が独自に定め、App内で重複しなければよい。文字列をOpenidとして渡す必要がある場合は、チケットを提出をして開発者に連絡してください。 |
int ret = ITMGContext.GetInstance().Init(sdkAppId, openID);//戻り値で初期化が成功したかどうかを判断するif (ret != QAVError.OK){Debug.Log("SDK初期化失敗:"+ret);return;}
public void Update(){ITMGContext.GetInstance().Poll();}
//委託関数:public delegate void QAVEnterRoomComplete(int result, string error_info);//イベント関数:public abstract event QAVEnterRoomComplete OnEnterRoomCompleteEvent;
委託関数:public delegate void QAVExitRoomComplete();イベント関数:public abstract event QAVExitRoomComplete OnExitRoomCompleteEvent;
QAVAuthBuffer GenAuthBuffer(int appId, string roomId, string openId, string key)
パラメータ | タイプ | 意味 |
appId | int | Tencent CloudコンソールからのAppId番号。 |
roomId | string | ルーム番号であり、最大127文字まで対応しています(オフライン音声ルーム番号のパラメータをnullに設定しなければなりません)。 |
openId | string | ユーザーID。Initの場合のopenIdと同じです。 |
key | string |
public static byte[] GetAuthBuffer(string AppID, string RoomID,string OpenId, string AuthKey){return QAVAuthBuffer.GenAuthBuffer(int.Parse(AppID), RoomID, OpenId, AuthKey);}
ITMGContext EnterRoom(string roomId, int roomType, byte[] authBuffer)
パラメータ | タイプ | 意味 |
roomId | String | ルーム番号、127文字まで入力可能 |
roomType | ITMGRoomType | ITMGRoomType.ITMG_ROOM_TYPE_FLUENCYのみ入力すればよい |
authBuffer | byte[] | 認証コード |
ITMGContext.GetInstance().EnterRoom(strRoomId, ITMGRoomType.ITMG_ROOM_TYPE_FLUENCY, byteAuthbuffer);
//イベントを監視します:ITMGContext.GetInstance().OnEnterRoomCompleteEvent += new QAVEnterRoomComplete(OnEnterRoomComplete);//監視処理:void OnEnterRoomComplete(int err, string errInfo){if (err != 0) {ShowLoginPanel("エラーコード:" + err + "エラーメッセージ:" + errInfo);return;}else{//入室に成功}}
エラーコードの値 | 原因と解決策 |
7006 | 次の理由で認証に失敗しました: AppIDが存在しないか、エラーです authbuff認証エラーです 認証期限切れです openIdが仕様に準拠していません |
7007 | 他のルームにいます |
1001 | ルーム参加中でこの操作を繰り返しています。コールバックが戻るまで、ルーム参加インターフェースを呼び出さないことをお勧めします |
1003 | ルームに参加してルームにいますが、もう1回ルーム参加インターフェースを呼び出しました |
1101 | SDKが初期化されていること、openIdが規則に準拠していること、またはインターフェースが同じスレッドで呼び出されていること、およびPollインタフェースが正常に呼び出されていることを確認してください |
//イベントを監視します:ITMGContext.GetInstance().OnEnterRoomCompleteEvent += new QAVEnterRoomComplete(OnEnterRoomComplete);//監視処理:void OnEnterRoomComplete(int err, string errInfo){if (err != 0) {ShowLoginPanel("エラーコード:" + err + "エラーメッセージ:" + errInfo);return;}else{//入室に成功// マイクの起動ITMGContext.GetInstance().GetAudioCtrl().EnableMic(true);}}
//イベントを監視します:ITMGContext.GetInstance().OnEnterRoomCompleteEvent += new QAVEnterRoomComplete(OnEnterRoomComplete);//監視処理:void OnEnterRoomComplete(int err, string errInfo){if (err != 0) {ShowLoginPanel("エラーコード:" + err + "エラーメッセージ:" + errInfo);return;}else{//入室に成功//スピーカーをオンにするITMGContext.GetInstance().GetAudioCtrl().EnableSpeaker(true);}}
ITMGContext.GetInstance().ExitRoom();
イベントを監視します。ITMGContext.GetInstance().OnExitRoomCompleteEvent += new QAVExitRoomComplete(OnExitRoomComplete);監視処理:void OnExitRoomComplete(){//退室した後の処理}
ITMGPTT int ApplyPTTAuthbuffer (byte[] authBuffer)
パラメータ | タイプ | 意味 |
authBuffer | String | 認証 |
UserConfig.SetAppID(transform.Find ("appId").GetComponent<InputField> ().text);UserConfig.SetUserID(transform.Find ("userId").GetComponent<InputField> ().text);UserConfig.SetAuthKey(transform.Find("authKey").GetComponent<InputField>().text);byte[] authBuffer = UserConfig.GetAuthBuffer(UserConfig.GetAppID(), UserConfig.GetUserID(), null,UserConfig.GetAuthKey());ITMGContext.GetInstance().GetPttCtrl().ApplyPTTAuthbuffer(authBuffer);
ITMGPTT int StartRecordingWithStreamingRecognition(string filePath)
パラメータ | タイプ | 意味 |
filePath | String | ボイスの保存パス |
string recordPath = Application.persistentDataPath + string.Format("/{0}.silk", sUid++);int ret = ITMGContext.GetInstance().GetPttCtrl().StartRecordingWithStreamingRecognition(recordPath);
OnStreamingSpeechComplete
はレコーディングを停止して認識が完了した後にテキストを返します。これは、発話が完了した後に認識されたテキストを返すことに相当します。OnStreamingSpeechisRunning
は録音中に認識されたテキストをリアルタイムで返すことであり、発話しながら認識された文字を返すことに相当します。メッセージ名称 | 意味 |
result | ストリーミングボイス認識が完了したかどうかを判断するための戻りコード |
text | ボイステキスト変換で認識されたテキスト |
file_path | 録音を保存するローカルアドレス |
file_id | 録音はバックグラウンドのURLアドレスにあり、録音はサーバーで90日間保存されます |
//イベントを監視します:ITMGContext.GetInstance().GetPttCtrl().OnStreamingSpeechComplete +=new QAVStreamingRecognitionCallback (OnStreamingSpeechComplete);ITMGContext.GetInstance().GetPttCtrl().OnStreamingSpeechisRunning += new QAVStreamingRecognitionCallback (OnStreamingRecisRunning);//監視処理:void OnStreamingSpeechComplete(int code, string fileid, string filepath, string result){// ストリーミングAutomatic Speech Recognitionのコールバックの起動}void OnStreamingRecisRunning(int code, string fileid, string filePath, string result){if (code == 0){setBtnText(mStreamBtn, "ストリーミング");InputField field = transform.Find("recordFilePath").GetComponent<InputField>();field.text = filePath;field = transform.Find("downloadUrl").GetComponent<InputField>();field.text = "Stream is Running";field = transform.Find("convertTextResult").GetComponent<InputField>();field.text = result;showWarningText("レコーディング中");}}
エラーコード | 意味 | 処理方式 |
32775 | ストリーミング音声をテキストに変更できませんが、録音は成功しました | UploadRecordedFileインターフェースを呼び出して録音をアップロードし、SpeechToTextインターフェースを呼び出して音声を文字に変換します |
32777 | ストリーミング音声をテキストに変更できませんが、録音とアップロードは成功しました | 返されたメッセージには正常にアップロードしたバックグラウンドURLがあり、SpeechToTextインターフェースを呼び出して音声から文字への変換操作を行います |
32786 | ストリーミング音声をテキストに変更できませんでした | ストリーミングレコーディングステータスでは、ストリーミングレコーディングインターフェースの実行結果が返されるまで待ってください |
ITMGPTT int StopRecording()
ITMGContext.GetInstance().GetPttCtrl().StopRecording();
この記事はお役に立ちましたか?