이 파일은 GME sdk version:2.5 맞춤용입니다.
중요 인터페이스 | 인터페이스 의미 |
Init | GME 초기화 |
Poll | 이벤트 콜백 |
EnterRoom | 방 들어가기 |
EnableMic | 마이크 온 |
EnableSpeaker | 스피커 온 |
인터페이스 | 인터페이스 의미 |
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 판단 및 작업}
SDK 초기화 후 방 들어가기가 가능합니다함수 프로토타입
ITMGContext virtual int Init(const char* sdkAppId, const char* openId)
파라미터 | 유형 | 의미 |
sdkAppId | char* | 텐센트 클라우드 콘솔의 sdkAppId 번호 |
openId | char* | openId 는 Int64 유형만을 지원합니다(char* 전환 후 입력). 10000보다 커야 하며, 사용자 식별에 사용됩니다 |
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){ITMGContextGetInstance()->Poll();}
ITMGContext int Pause()
ITMGContext int Resume()
ITMGContext int Uninit()
ITMGContext* context = ITMGContextGetInstance();context->Uninit();
인터페이스 | 인터페이스 의미 |
GenAuthBuffer | 초기화 인증 |
EnterRoom | 방 들어가기 |
IsRoomEntered | 방 들어가기 여부 |
ExitRoom | 방 나가기 |
ChangeRoomType | 사용자 방 오디오 유형 수정 |
GetRoomType | 사용자 방 오디오 유형 획득 |
int QAVSDK_AuthBuffer_GenAuthBuffer(unsigned int dwSdkAppID, const char* strRoomID, const char* strOpenID,const char* strKey, unsigned char* strAuthBuffer, unsigned int bufferLength);
파라미터 | 유형 | 의미 |
dwSdkAppID | int | 텐센트 클라우드의 sdkAppId 번호 |
strRoomID | char* | 방 번호는 최대 127자까지 지원됩니다(오프라인 음성 메시지 방 번호 파라미터는 반드시 null을 입력하세요) |
strOpenID | char* | 사용자 표식 |
strKey | char* | |
strAuthBuffer | char* | 출력된 authbuff |
bufferLength | int | 전해진 authbuff 길이, 권장 길이 500 |
unsigned int bufferLen = 512;unsigned char retAuthBuff[512] = {0};QAVSDK_AuthBuffer_GenAuthBuffer(atoi(SDKAPPID3RD), roomId, "10001", AUTHKEY,retAuthBuff,bufferLen);
ITMGContext virtual int EnterRoom(const char* roomID, ITMG_ROOM_TYPE roomType, const char* authBuff, int buffLen)
파라미터 | 유형 | 의미 |
roomID | char* | 방 번호는 최대 127자까지 지원합니다 |
roomType | ITMG_ROOM_TYPE | 방 오디오 유형 |
authBuffer | char* | 인증 코드 |
buffLen | int | 인증 코드 길이 |
ITMGContext* context = ITMGContextGetInstance();context->EnterRoom(roomID, ITMG_ROOM_TYPE_STANDARD, (char*)retAuthBuff,bufferLen);
void TMGTestScene::OnEvent(ITMG_MAIN_EVENT_TYPE eventType,const char* data){switch (eventType) {case ITMG_MAIN_EVENT_TYPE_ENTER_ROOM:{//처리break;}}}
메시지 | Data | 예제 |
ITMG_MAIN_EVENT_TYPE_ENTER_ROOM | result; error_info | {"error_info":"","result":0} |
ITMGContext virtual bool IsRoomEntered()
ITMGContext* context = ITMGContextGetInstance();context->IsRoomEntered();
애플리케이션에서 체크 아웃 직후 체크 인이 실행되는 작업 환경이 있는 경우 개발자는 인터페이스 호출 프로세스에서 ExitRoom의 콜백 RoomExitComplete 알림을 기다릴 필요가 없습니다. 인터페이스를 직접 호출하면 됩니다.
ITMGContext virtual int ExitRoom()
ITMGContext* context = ITMGContextGetInstance();context->ExitRoom();
void TMGTestScene::OnEvent(ITMG_MAIN_EVENT_TYPE eventType,const char* data){switch (eventType) {case ITMG_MAIN_EVENT_TYPE_EXIT_ROOM:{//처리break;}}}
메시지 | Data | 예제 |
ITMG_MAIN_EVENT_TYPE_EXIT_ROOM | result; error_info | {"error_info":"","result":0} |
IITMGContext TMGRoom public void ChangeRoomType((ITMG_ROOM_TYPE roomType)
파라미터 | 유형 | 의미 |
roomType | ITMG_ROOM_TYPE | 방의 유형을 전환하길 원하는 것으로, 방 오디오 유형은 EnterRoom 인터페이스를 참조하십시오 |
ITMGContext* context = ITMGContextGetInstance();ITMGContextGetInstance()->GetRoom()->ChangeRoomType(ITMG_ROOM_TYPE_FLUENCY);
IITMGContext TMGRoom public int GetRoomType()
ITMGContext* context = ITMGContextGetInstance();ITMGContextGetInstance()->GetRoom()->GetRoomType();
이벤트 하위 유형 | 파라미터 | 의미 |
ITMG_ROOM_CHANGE_EVENT_ENTERROOM | 1 | 방에 들어오는 동안 가져온 오디오 유형이 방과 일치하지 않음을 나타내는 것으로, 들어간 방의 오디오 유형으로 자동 수정됩니다 |
ITMG_ROOM_CHANGE_EVENT_START | 2 | 이미 방에 있는 상황에서 오디오 유형을 전환합니다(예를 들어 ChangeRoomType 인터페이스를 호출한 후 오디오 유형을 전환합니다 ) |
ITMG_ROOM_CHANGE_EVENT_COMPLETE | 3 | 이미 방에 있는 상황에서 오디오 유형 전환 완료를 의미합니다 |
ITMG_ROOM_CHANGE_EVENT_REQUEST | 4 | 방 내 다른 멤버가 ChangeRoomType 인터페이스를 호출하여 오디오 유형을 변경하고자 하는 경우를 의미합니다 |
void TMGTestScene::OnEvent(ITMG_MAIN_EVENT_TYPE eventType,const char* data) {if (ITMGContext.ITMG_MAIN_EVENT_TYPE.ITMG_MAIN_EVENT_TYPE_CHANGE_ROOM_TYPE == type){//방 유형 이벤트 처리}}
메시지 | Data | 예제 |
ITMG_MAIN_EVENT_TYPE_CHANGE_ROOM_TYPE | result; error_info; new_room_type | {"error_info":"","new_room_type":0,"result":0} |
event_id | 의미 | 애플리케이션 유지 컨텐츠 |
ITMG_EVENT_ID_USER_ENTER | 멤버가 방에 들어왔습니다 | 애플리케이션 유지 멤버 리스트 |
ITMG_EVENT_ID_USER_EXIT | 어떤 멤버가 방을 나갔습니다 | 애플리케이션 유지 멤버 리스트 |
ITMG_EVENT_ID_USER_HAS_AUDIO | 어떤 멤버가 오디오 패킷 발송을 합니다 | 애플리케이션 유지 통화 멤버 리스트 |
ITMG_EVENT_ID_USER_NO_AUDIO | 어떤 멤버가 오디오 패킷 발송을 중지했습니다 | 애플리케이션 유지 통화 멤버 리스트 |
void TMGTestScene::OnEvent(ITMG_MAIN_EVENT_TYPE eventType,const char* data){switch (eventType) {case ITMG_MAIN_EVNET_TYPE_USER_UPDATE:{//처리//개발자가 파라미터를 분석합니다. 획득한 정보는 eventID 와 user_list 입니다switch (eventID){case ITMG_EVENT_ID_USER_ENTER://어떤 멤버가 방에 들어왔습니다break;case ITMG_EVENT_ID_USER_EXIT://어떤 멤버가 방을 나갔습니다break;case ITMG_EVENT_ID_USER_HAS_AUDIO://어떤 멤버가 오디오 패킷 발송을 합니다break;case ITMG_EVENT_ID_USER_NO_AUDIO://어떤 멤버가 오디오 패킷 발송을 중지했습니다break;default:break;}break;}}}
파라미터 | 의미 |
weight | 범위는 1-5로, 5는 음질 평점이 매우 좋음, 1은 음질 평점이 매우 나쁨으로 거의 사용할 수 없음을 뜻하며, 0은 기본값을 뜻하며 의미가 없다 |
floss | 패킷 손실율 |
delay | 오디오 딜레이 시간(ms) |
메시지 | 메시지 의미 |
ITMG_MAIN_EVENT_TYPE_ENTER_ROOM | 오디오/비디오방 메시지 들어가기 |
ITMG_MAIN_EVENT_TYPE_EXIT_ROOM | 오디오/비디오방 메시지 나가기 |
ITMG_MAIN_EVENT_TYPE_ROOM_DISCONNECT | 네트워크 등의 이유로 방 메세지 끊김 |
ITMG_MAIN_EVENT_TYPE_CHANGE_ROOM_TYPE | 방 유형 변화 이벤트 |
메시지 | 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_EVENT_TYPE_CHANGE_ROOM_TYPE | result; error_info; new_room_type | {"error_info":"","new_room_type":0,"result":0} |
인터페이스 | 인터페이스 의미 |
GetMicListCount | 마이크 갯수 획득 |
GetMicList | 마이크 세기 |
GetSpeakerListCount | 스피커 갯수 획득 |
GetSpeakerList | 스피커 세기 |
SelectMic | 마이크 선정 |
SelectSpeaker | 스피커 선정 |
EnableMic | 마이크 스위치 |
GetMicState | 마이크 상태 획득 |
EnableAudioCaptureDevice | 수집 디바이스 스위치 |
IsAudioCaptureDeviceEnabled | 수집 디바이스 상태 획득 |
EnableAudioSend | 오디오 업스트림 열기/닫기 |
IsAudioSendEnabled | 오디오 업스트림 상태 획득 |
GetMicLevel | 실시간 마이크 사운드 획득 |
GetSendStreamLevel | 오디오 업스트림 실시간 사운드 획득 |
SetMicVolume | 마이크 사운드 설정 |
GetMicVolume | 마이크 사운드 획득 |
EnableSpeaker | 스피커 스위치 |
GetSpeakerState | 스피커 상태 획득 |
EnableAudioPlayDevice | 재생 디바이스 스위치 |
IsAudioPlayDeviceEnabled | 재생 디바이스 상태 획득 |
EnableAudioRecv | 오디오 다운스트림 열기/닫기 |
IsAudioRecvEnabled | 오디오 다운스트림 상태 획득 |
GetSpeakerLevel | 실시간 스피커 사운드 획득 |
GetRecvStreamLevel | 방 내 다른 멤버 다운스트림 실시간 사운드 획득 |
SetSpeakerVolume | 스피커 사운드 설정 |
GetSpeakerVolume | 스피커 사운드 획득 |
EnableLoopBack | 인이어 모니터링 스위치 |
ITMGAudioCtrl virtual int GetMicListCount()
ITMGContextGetInstance()->GetAudioCtrl()->GetMicListCount();
ITMGAudioCtrl virtual int GetMicList(TMGAudioDeviceInfo* ppDeviceInfoList, int nCount)class TMGAudioDeviceInfo{public:const char* pDeviceID;const char* pDeviceName;};
파라미터 | 유형 | 의미 |
ppDeviceInfoList | TMGAudioDeviceInfo | 디바이스 리스트 |
nCount | int | 획득한 마이크 갯수 |
ITMGContextGetInstance()->GetAudioCtrl()->GetMicList(ppDeviceInfoList,nCount);
ITMGAudioCtrl virtual int SelectMic(const char* pMicID)
파라미터 | 유형 | 의미 |
pMicID | char* | 마이크 디바이스 ID |
const char* pMicID ="{0.0.1.00000000}.{7b0b712d-3b46-4f7a-bb83-bf9be4047f0d}";ITMGContextGetInstance()->GetAudioCtrl()->SelectMic(pMicID);
ITMGAudioCtrl virtual int EnableMic(bool bEnabled)
파라미터 | 유형 | 의미 |
bEnabled | bool | 마이크를 열기 하여야 하는 경우 인풋 파라미터는 true이고, 마이크를 닫기 하여야 하는 경우, 파라미터는 false 입니다 |
ITMGContextGetInstance()->GetAudioCtrl()->EnableMic(true);
ITMGAudioCtrl virtual int GetMicState()
ITMGContextGetInstance()->GetAudioCtrl()->GetMicState();
ITMGContext virtual int EnableAudioCaptureDevice(bool enable)
파라미터 | 유형 | 의미 |
enable | bool | 수집 디바이스를 열기 한 경우 파라미터는 true이며, 수집 디바이스 닫기 한 경우 파라미터는 false로 나타납니다 |
수집 디바이스 열기ITMGContextGetInstance()->GetAudioCtrl()->EnableAudioCaptureDevice(true);
ITMGContext virtual bool IsAudioCaptureDeviceEnabled()
ITMGContextGetInstance()->GetAudioCtrl()->IsAudioCaptureDeviceEnabled();
ITMGContext virtual int EnableAudioSend(bool bEnable)
파라미터 | 유형 | 의미 |
enable | bool | 오디오 업스트림을 열기 하는 경우 파라미터는 true이며, 오디오 업스트림 닫기 를 하면 파라미터는 false로 나타납니다 |
ITMGContextGetInstance()->GetAudioCtrl()->EnableAudioSend(true);
ITMGContext virtual bool IsAudioSendEnabled()
ITMGContextGetInstance()->GetAudioCtrl()->IsAudioSendEnabled();
ITMGAudioCtrl virtual int GetMicLevel()
ITMGContextGetInstance()->GetAudioCtrl()->GetMicLevel();
ITMGAudioCtrl virtual int GetSendStreamLevel()
ITMGContextGetInstance()->GetAudioCtrl()->GetSendStreamLevel();
ITMGAudioCtrl virtual int SetMicVolume(int vol)
파라미터 | 유형 | 의미 |
vol | int | 사운드 설정, 값 범위는 0 부터 200까지 |
ITMGContextGetInstance()->GetAudioCtrl()->SetMicVolume(vol);
ITMGAudioCtrl virtual int GetMicVolume()
ITMGContextGetInstance()->GetAudioCtrl()->GetMicVolume();
ITMGAudioCtrl virtual int GetSpeakerListCount()
ITMGContextGetInstance()->GetAudioCtrl()->GetSpeakerListCount();
ITMGAudioCtrl virtual int GetSpeakerList(TMGAudioDeviceInfo* ppDeviceInfoList, int nCount)class TMGAudioDeviceInfo{public:const char* pDeviceID;const char* pDeviceName;};
파라미터 | 유형 | 의미 |
ppDeviceInfoList | TMGAudioDeviceInfo | 디바이스 리스트 |
nCount | int | 획득한 스피커 갯수 |
ITMGContextGetInstance()->GetAudioCtrl()->GetSpeakerList(ppDeviceInfoList,nCount);
ITMGAudioCtrl virtual int SelectSpeaker(const char* pSpeakerID)
파라미터 | 유형 | 의미 |
pSpeakerID | char* | 스피커 디바이스 ID |
const char* pSpeakerID ="{0.0.1.00000000}.{7b0b712d-3b46-4f7a-bb83-bf9be4047f0d}";ITMGContextGetInstance()->GetAudioCtrl()->SelectSpeaker(pSpeakerID);
ITMGAudioCtrl virtual int EnableSpeaker(bool enabled)
파라미터 | 유형 | 의미 |
enable | bool | 스피커를 열기 하는 경우 파라미터는 false이고, 스피커를 닫기 하면 true 가 나타납니다 |
ITMGContextGetInstance()->GetAudioCtrl()->EnableSpeaker(true);
ITMGAudioCtrl virtual int GetSpeakerState()
ITMGContextGetInstance()->GetAudioCtrl()->GetSpeakerState();
ITMGContext virtual int EnableAudioPlayDevice(bool enable)
파라미터 | 유형 | 의미 |
enable | bool | 재생 디바이스를 꺼야 하는 경우 파라미터는 false이고, 재생 디바이스를 켜면 true 가 나타납니다 |
ITMGContextGetInstance()->GetAudioCtrl()->EnableAudioPlayDevice(true);
ITMGContext virtual bool IsAudioPlayDeviceEnabled()
ITMGContextGetInstance()->GetAudioCtrl()->IsAudioPlayDeviceEnabled();
ITMGContext virtual int EnableAudioRecv(bool enable)
파라미터 | 유형 | 의미 |
enable | bool | 오디오 다운스트림을 켜야 하는 경우 파라미터는 true이고, 오디오 다운스트림을 끄면 false 가 나타납니다 |
ITMGContextGetInstance()->GetAudioCtrl()->EnableAudioRecv(true);
ITMGContext virtual bool IsAudioRecvEnabled()
ITMGContextGetInstance()->GetAudioCtrl()->IsAudioRecvEnabled();
ITMGAudioCtrl virtual int GetSpeakerLevel()
ITMGContextGetInstance()->GetAudioCtrl()->GetSpeakerLevel();
ITMGAudioCtrl virtual int GetRecvStreamLevel(const char* openId)
파라미터 | 유형 | 의미 |
openId | char* | 방 내 다른 멤버의 openId |
iter->second.level = ITMGContextGetInstance()->GetAudioCtrl()->GetRecvStreamLevel(iter->second.openid.c_str());
ITMGAudioCtrl virtual int SetSpeakerVolume(int vol)
파라미터 | 유형 | 의미 |
vol | int | 사운드 설정, 범위 값 0부터 200까지 |
int vol = 100;ITMGContextGetInstance()->GetAudioCtrl()->SetSpeakerVolume(vol);
ITMGAudioCtrl virtual int GetSpeakerVolume()
ITMGContextGetInstance()->GetAudioCtrl()->GetSpeakerVolume();
ITMGAudioCtrl virtual int EnableLoopBack(bool enable)
파라미터 | 유형 | 의미 |
enable | bool | 설정이 운행 가능한지 여부 |
ITMGContextGetInstance()->GetAudioCtrl()->EnableLoopBack(true);
인터페이스 | 인터페이스 의미 |
Init | GME 초기화 |
Poll | 이벤트 콜백 |
Pause | 시스템 일시정지 |
Resume | 시스템 복구 |
Uninit | GME 초기화 취소 |
인터페이스 | 인터페이스 의미 |
ApplyPTTAuthbuffer | 인증 초기화 |
SetMaxMessageLength | 음성 메시지 최대 길이 제한 |
StartRecording | 녹음 시작 |
StartRecordingWithStreamingRecognition | 스트리밍 녹음 시작 |
PauseRecording | 녹음 일시정지 |
ResumeRecording | 녹음 복구 |
StopRecording | 녹음 중지 |
CancelRecording | 녹음 취소 |
GetMicLevel | 오프라인 음성 메시지 실시간 마이크 사운드 획득 |
SetMicVolume | 오프라인 음성 메시지 녹화 사운드 설정 |
GetMicVolume | 오프라인 음성 메시지 녹화 사운드 획득 |
GetSpeakerLevel | 오프라인 음성 메시지 실시간 스피커 사운드 획득 |
SetSpeakerVolume | 오프라인 음성 메시지 재생 사운드 설정 |
GetSpeakerVolume | 오프라인 음성 메시지 재생 사운드 획득 |
UploadRecordedFile | 음성 파일 업로드 |
DownloadRecordedFile | 음성 파일 다운로드 |
PlayRecordedFile | 음성 파일 재생 |
StopPlayFile | 음성 파일 재생 중지 |
GetFileSize | 음성 파일 크기 |
GetVoiceFileDuration | 음성 파일 길이 |
SpeechToText | 음성을 문자로 인식 |
ITMGPTT virtual int ApplyPTTAuthbuffer(const char* authBuffer, int authBufferLen)
파라미터 | 유형 | 의미 |
authBuffer | char* | 인증 |
authBufferLen | int | 인증 길이 |
ITMGContextGetInstance()->GetPTT()->ApplyPTTAuthbuffer(authBuffer,authBufferLen);
ITMGPTT virtual int SetMaxMessageLength(int msTime)
파라미터 | 유형 | 의미 |
msTime | int | 음성 시간, 단위 ms |
int msTime = 10;ITMGContextGetInstance()->GetPTT()->SetMaxMessageLength(msTime);
ITMGPTT virtual int StartRecording(const char* fileDir)
파라미터 | 유형 | 의미 |
fileDir | char* | 보관된 음성 파일 경로 |
ITMGContextGetInstance()->GetPTT()->StartRecording(fileDir);
에러코드 | 원인 | 권장 방안 |
4097 | 파라미터 비어있음 | 코드 중 인터페이스 파라미터가 올바른지 점검합니다 |
4098 | 초기화 오류 | 디바이스가 점용되었는지, 권한이 올바른지, 초기화가 정상적인지 점검합니다 |
4099 | 녹화 중 | SDK 녹화 기능이 정확한 타이밍에 사용되는지 확인합니다 |
4100 | 가청 주파수 데이터가 수집 안됨 | 마이크 디바이스가 정상인지 점검합니다 |
4101 | 녹음 시, 파일 액세스 오류 | 파일이 존재하는지, 파일 경로가 합법적인지 확인합니다 |
4102 | 마이크 권한 미부여 오류 | SDK 를 사용하기 위해서는 마이크 권한이 필요합니다. 권한 추가는 엔진이나 플랫폼의 SDK 공정 배치 문서를 참조하십시오 |
4103 | 녹음 시간이 너무 짧음으로 오류 | 우선, 녹음 시간 단위는 ms로 제한하고 있습니다. 파라미터가 올바른지 점검하세요. 그리고 녹음 시간은 1000ms 이상이어야 녹음 성공으로 간주합니다 |
4104 | 녹음 작업 운행 안됨 | 이미 녹음 운행 인터페이스가 호출된 것은 아닌지 점검합니다 |
void TMGTestScene::OnEvent(ITMG_MAIN_EVENT_TYPE eventType,const char* data){switch (eventType) {case ITMG_MAIN_EVENT_TYPE_ENTER_ROOM:{//처리break;}...case ITMG_MAIN_EVNET_TYPE_PTT_RECORD_COMPLETE:{//처리break;}}}
ITMGPTT virtual int StartRecordingWithStreamingRecognition(const char* filePath)ITMGPTT virtual int StartRecordingWithStreamingRecognition(const char* filePath,const char* translateLanguage,const char* translateLanguage)
파라미터 | 유형 | 의미 |
filePath | char* | 보관된 파일 경로 |
speechLanguage | char* | |
translateLanguage | char* | 지정 문자로 번역된 언어 파라미터와 관련하여 음성 문자 변환된 언어 파라미터 참고 리스트를 참조하십시오(이 파라미터는 일시적으로 사용할 수 없으므로 speechLanguage 와 같은 파라미터로 작성하십시오) |
ITMGContextGetInstance()->GetPTT()->StartRecordingWithStreamingRecognition(filePath,"cmn-Hans-CN","cmn-Hans-CN");
메시지 이름 | 의미 |
result | 스트리밍 음성 인식이 성공적으로 출력되었는지 여부를 판단하는 데 사용됨 |
text | 음성 문자 변환 인식의 텍스트 |
file_path | 녹음이 보관된 로컬 주소 |
file_id | 녹음의 백그라운드 url 주소 |
에러코드 | 의미 | 처리 방법 |
32775 | 스트리밍 음성 문자 변환에 실패하였으나, 녹음엔 성공함 | UploadRecordedFile 인터페이스를 호출하여 녹음 파일을 업로드 한 뒤, SpeechToText 인터페이스를 호출하여 음성 문자 변환 작업을 진행하십시오 |
32777 | 스트리밍 음성 문자 변환에 실패하였으나, 녹음과 업로드에 성공함 | 리턴 메시지의 업로드 성공 백그라운드 url 주소로, SpeechToText 인터페이스를 호출하여 음성 문자 변환 작업을 진행하십시오 |
32786 | 스트리밍 음성 문자 변환 실패 | 스트리밍 녹화 상태에서, 스트리밍 녹화 인터페이스 실행 결과가 출력될 때까지 기다리십시오 |
void TMGTestScene::OnEvent(ITMG_MAIN_EVENT_TYPE eventType,const char* data){switch (eventType) {case ITMG_MAIN_EVENT_TYPE_ENTER_ROOM:{//처리break;}...case ITMG_MAIN_EVNET_TYPE_PTT_STREAMINGRECOGNITION_COMPLETE:{//처리break;}}}
ITMGPTT virtual int PauseRecording()
ITMGContextGetInstance()->GetPTT()->PauseRecording();
ITMGPTT virtual int ResumeRecording()
ITMGContextGetInstance()->GetPTT()->ResumeRecording();
ITMGPTT virtual int StopRecording()
ITMGContextGetInstance()->GetPTT()->StopRecording();
ITMGPTT virtual int CancelRecording()
ITMGPTT virtual int UploadRecordedFile(const char* filePath)
ITMGPTT virtual int UploadRecordedFile(const char* filePath)
ITMGPTT virtual int UploadRecordedFile(const char* filePath)
ITMGPTT virtual int SetMicVolume(int vol)
ITMGPTT virtual int UploadRecordedFile(const char* filePath)
ITMGPTT virtual int UploadRecordedFile(const char* filePath)
ITMGPTT virtual int UploadRecordedFile(const char* filePath)
ITMGPTT virtual int UploadRecordedFile(const char* filePath)
ITMGPTT virtual int UploadRecordedFile(const char* filePath)
ITMGPTT virtual int UploadRecordedFile(const char* filePath)
ITMGPTT virtual int UploadRecordedFile(const char* filePath)
ITMGPTT virtual int UploadRecordedFile(const char* filePath)
ITMGPTT virtual int UploadRecordedFile(const char* filePath)
ITMGPTT virtual int UploadRecordedFile(const char* filePath)
파라미터 | 유형 | 의미 |
filePath | char* | 파일 업로드 경로 |
ITMGContextGetInstance()->GetPTT()->UploadRecordedFile(filePath);
에러코드 | 원인 | 권장 방안 |
8193 | 파일 업로드 시, 파일 액세스 오류 | 파일이 존재하는지, 파일 경로가 합법적인지 확인합니다 |
8194 | 서명 교정 실패 오류 | 인증 보안키가 올바른지, 초기화 오프라인 음성 메시지가 있는지 점검합니다 |
8195 | 네트워크 오류 | 디바이스 네트워크가 외부 네트워크 환경에 정상적으로 방문할 수 있는지 점검합니다 |
8196 | 업로드된 파라미터 획득 과정에서 네트워크 오류 | 인증이 올바른지, 디바이스 네트워크가 외부 네트워크 환경에 정상적으로 방문할 수 있는지 점검합니다 |
8197 | 업로드된 파라미터 획득 과정에서 롤백 데이터 비어있음 | 인증이 올바른지, 디바이스 네트워크가 외부 네트워크 환경에 정상적으로 방문할 수 있는지 점검합니다 |
8198 | 업로드된 파라미터 획득 과정에서 롤백 데이터 압축해제 실패 | 인증이 올바른지, 디바이스 네트워크가 외부 네트워크 환경에 정상적으로 방문할 수 있는지 점검합니다 |
8200 | appinfo 설정 안됨 | apply 인터페이스가 호출되어 있는지, 인풋 파라미터가 비어있는지 점검합니다 |
void TMGTestScene::OnEvent(ITMG_MAIN_EVENT_TYPE eventType,const char* data){switch (eventType) {case ITMG_MAIN_EVENT_TYPE_ENTER_ROOM:{//처리break;}...case ITMG_MAIN_EVNET_TYPE_PTT_UPLOAD_COMPLETE:{//처리break;}}}
ITMGPTT virtual int DownloadRecordedFile(const char* fileId, const char* filePath)
파라미터 | 유형 | 의미 |
fileId | char* | 파일 url 경로 |
filePath | char* | 파일 로컬 저장 경로 |
ITMGContextGetInstance()->GetPTT()->DownloadRecordedFile(fileID,filePath);
에러코드 | 원인 | 권장 방안 |
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) {case ITMG_MAIN_EVENT_TYPE_ENTER_ROOM:{//처리break;}...case ITMG_MAIN_EVNET_TYPE_PTT_DOWNLOAD_COMPLETE:{//처리break;}}}
ITMGPTT virtual int PlayRecordedFile(const char* filePath)
파라미터 | 유형 | 의미 |
filePath | char* | 파일 경로 |
에러코드 | 원인 | 권장 방안 |
20485 | 재생 미시작 | 파일이 존재하는지, 파일 경로가 합법적인지 확인합니다 |
ITMGContextGetInstance()->GetPTT()->PlayRecordedFile(filePath);
에러코드 | 원인 | 권장 방안 |
20481 | 초기화 오류 | 디바이스가 점용되었는지, 권한이 정상인지, 초기화가 정상적인지 점검합니다 |
20482 | 재생 중인 상황에서, 중도 중단하고 다음 재생 시도하였으나 실패함(정상적으로는 중단이 가능함) | 코드 로직이 올바른지 점검합니다 |
20483 | 파라미터 비어있음 | 코드 중 인터페이스 파라미터가 정확한지 점검합니다 |
20484 | 내부 오류 | 초기화 재생 오류로, 암호 해독 실패 등의 문제로 이 에러 코드가 생성됩니다. 로그를 위치를 분석하여 문제를 해결합니다 |
void TMGTestScene::OnEvent(ITMG_MAIN_EVENT_TYPE eventType,const char* data){switch (eventType) {case ITMG_MAIN_EVENT_TYPE_ENTER_ROOM:{//처리break;}...case ITMG_MAIN_EVNET_TYPE_PTT_PLAY_COMPLETE:{//처리break;}}}
ITMGPTT virtual int StopPlayFile()
ITMGContextGetInstance()->GetPTT()->StopPlayFile();
ITMGPTT virtual int GetFileSize(const char* filePath)
파라미터 | 유형 | 의미 |
filePath | char* | 음성 파일의 경로 |
ITMGContextGetInstance()->GetPTT()->GetFileSize(filePath);
ITMGPTT virtual int GetVoiceFileDuration(const char* filePath)
파라미터 | 유형 | 의미 |
filePath | char* | 음성 파일의 경로 |
ITMGContextGetInstance()->GetPTT()->GetVoiceFileDuration(filePath);
ITMGPTT virtual void SpeechToText(const char* fileID)
파라미터 | 유형 | 의미 |
fileID | char* | 음성 파일 url |
ITMGContextGetInstance()->GetPTT()->SpeechToText(fileID);
ITMGPTT virtual int SpeechToText(const char* fileID,const char* speechLanguage,const char* translateLanguage)
파라미터 | 유형 | 의미 |
fileID | char* | 음성 파일 url |
speechLanguage | char* | |
translatelanguage | char* | 지정 문자로 반역된 음성 파라미터와 관련하여음성 문자 변환된 음성 파라미터 참고 리스트를 참조하십시오(이 파라미터는 일시적으로 유효하지 않으므로, 인풋 파라미터는 speechLanguage와 일치해야 합니다) |
ITMGContextGetInstance()->GetPTT()->SpeechToText(filePath,"cmn-Hans-CN","cmn-Hans-CN");
에러코드값 | 원인 | 권장방안 |
32769 | 내부 오류 | 로그를 분석하여 백그라운드에서 클라이언트에게 출력되는 진정한 에러 코드를 얻고 뒤 백그라운드 동료에게 연락하여 해결을 협조하십시오. |
32770 | 네트워크 오류 | 디바이스 네트워크가 외부 네트워크 환경에 정상적으로 방문할 수 있는지 점검합니다 |
32772 | 롤백 압축해제 실패 | 로그를 분석하여 백그라운드에서 클라이언트에게 출력되는 진정한 에러 코드를 얻고 뒤 백그라운드 동료에게 연락하여 해결을 협조하십시오. |
32774 | appinfo 설정 안됨 | 인증 보안키가 올바른지, 초기화 오프라인 음성 메시지가 있는지 점검합니다 |
32776 | authbuffer 교정 실패 | authbuffer 가 올바른지 확인합니다 |
32784 | 음성 문자 변환 파라미터 오류 | 코드 중 인터페이스 파라미터 fileid 가 비어있는지 점검하세요 |
32785 | 음성을 번역 텍스트로 변환 출력 오류 | 오프라인 음성 메시지 백그라운드 오류의 경우, 로그를 분석하여 백그라운드에서 클라이언트에게 출력되는 진정한 에러 코드를 얻고 뒤 백그라운드 동료에게 연락하여 해결을 협조하십시오 |
void TMGTestScene::OnEvent(ITMG_MAIN_EVENT_TYPE eventType,const char* data){switch (eventType) {case ITMG_MAIN_EVENT_TYPE_ENTER_ROOM:{//처리break;}...case ITMG_MAIN_EVNET_TYPE_PTT_SPEECH2TEXT_COMPLETE:{//처리break;}}}
ITMGRoom virtual const char* GetQualityTips()
ITMGContextGetInstance()->GetRoom()->GetQualityTips();
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은 사용하지 않음을 의미합니다. |
levelPrint | ITMG_LOG_LEVEL | 인쇄 로그 레벨을 설정하십시오. TMG_LOG_LEVEL_NONE은 인쇄하지 않음을 의미합니다. |
ITMG_LOG_LEVEL | 내용 |
TMG_LOG_LEVEL_NONE=0 | 로그를 인쇄하지 않습니다. |
TMG_LOG_LEVEL_ERROR=1 | 로그 인쇄 에러코드(기본값) |
TMG_LOG_LEVEL_INFO=2 | 로그 표시 인쇄 |
TMG_LOG_LEVEL_DEBUG=3 | 개발 디버깅 로그 인쇄 |
TMG_LOG_LEVEL_VERBOSE=4 | 고빈도 로그 인쇄 |
ITMGContext* context = ITMGContextGetInstance();context->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 | char* | 경로 |
cosnt char* logDir = ""//자체 설정 경로ITMGContext* context = ITMGContextGetInstance();context->SetLogPath(logDir);
ITMGContext ITMGAudioCtrl int AddAudioBlackList(const char* openId)
파라미터 | 유형 | 의미 |
openId | char* | 블랙리스트에 추가할 ID |
ITMGContextGetInstance()->GetAudioCtrl()->AddAudioBlackList(openId);
ITMGContext ITMGAudioCtrl int RemoveAudioBlackList(const char* openId)
파라미터 | 유형 | 의미 |
openId | char* | 블랙리스트에서 제거할 ID |
ITMGContextGetInstance()->GetAudioCtrl()->RemoveAudioBlackList(openId);
메시지 | 메세지 의미 |
ITMG_MAIN_EVENT_TYPE_ENTER_ROOM | 오디오 방 메시지 들어가기 |
ITMG_MAIN_EVENT_TYPE_EXIT_ROOM | 오디오 방 메시지 나가기 |
ITMG_MAIN_EVENT_TYPE_ROOM_DISCONNECT | 방이 네트워크 등 원인으로 메시지 끊김 |
ITMG_MAIN_EVENT_TYPE_CHANGE_ROOM_TYPE | 방 유형 변화 이벤트 |
ITMG_MAIN_EVENT_TYPE_MIC_NEW_DEVICE | 마이크 디바이스 메시지 새로 추가 |
ITMG_MAIN_EVENT_TYPE_MIC_LOST_DEVICE | 마이크 디바이스 메시지 손실 |
ITMG_MAIN_EVENT_TYPE_SPEAKER_NEW_DEVICE | 스피커 디바이스 메시지 새로 추가 |
ITMG_MAIN_EVENT_TYPE_SPEAKER_LOST_DEVICE | 스피커 디바이스 메시지 손실 |
ITMG_MAIN_EVENT_TYPE_ACCOMPANY_FINISH | 반주 종료 메시지 |
ITMG_MAIN_EVNET_TYPE_USER_UPDATE | 방 멤버 업데이트 메시지 |
ITMG_MAIN_EVNET_TYPE_PTT_RECORD_COMPLETE | PTT 녹음 완료 |
ITMG_MAIN_EVNET_TYPE_PTT_UPLOAD_COMPLETE | PTT 업로드 완료 |
ITMG_MAIN_EVNET_TYPE_PTT_DOWNLOAD_COMPLETE | PTT 다운로드 완료 |
ITMG_MAIN_EVNET_TYPE_PTT_PLAY_COMPLETE | PTT 재생 완료 |
ITMG_MAIN_EVNET_TYPE_PTT_SPEECH2TEXT_COMPLETE | 음성 문자 변환 완료 |
메시지 | 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_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_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_EVNET_TYPE_USER_UPDATE | user_list; event_id | {"event_id":1,"user_list":["0"]} |
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} |
문제 해결에 도움이 되었나요?