API | API 의미 |
StartAccompany | 반주 플레이 시작. |
StopAccompany | 반주 플레이 정지. |
IsAccompanyPlayEnd | 반주 플레이 완료 여부. |
PauseAccompany | 반주 플레이 일시정지. |
ResumeAccompany | 반주 리플레이. |
SetAccompanyVolume | 반주 사운드 설정. |
GetAccompanyVolume | 반주 플레이 사운드 획득. |
SetAccompanyFileCurrentPlayedTimeByMs | 플레이 진행 상황 설정. |
실시간 음성 반주를 원하시면 GME SDK를 액세스해야 하며, 실시간 음성 통화 시에만 실시간 음성 반주를 사용할 수 있습니다.
ITMGAudioEffectCtrl virtual int StartAccompany(const char* filePath, bool loopBack, int loopCount, int msTime)
파라미터 | 타입 | 의미 |
filePath | char* | 반주를 플레이하는 경로. |
loopBack | bool | 오디오 믹싱 발송 여부, 일반적으로 true로 설정하면 타인도 반주를 들을 수 있습니다. |
loopCount | int | 리사이클 횟수, 수치가 -1일 경우 무제한 리사이클을 의미합니다 |
msTime | int | 지연시간. |
//Windows 코드ITMGContextGetInstance()->GetAudioEffectCtrl()->StartAccompany(filePath,true,-1,0);//Android 코드ITMGContext.GetInstance(this).GetAudioEffectCtrl().StartAccompany(filePath,true,loopCount,0);//iOS 코드[[[ITMGContext GetInstance] GetAudioEffectCtrl] StartAccompany:path loopBack:isLoopBack loopCount:loopCount msTime:0];
void TMGTestScene::OnEvent(ITMG_MAIN_EVENT_TYPE eventType,const char* data){switch (eventType) {case ITMG_MAIN_EVENT_TYPE_ENTER_ROOM:{//프로세싱break;}...case ITMG_MAIN_EVENT_TYPE_ACCOMPANY_FINISH:{//프로세싱break;}}}
ITMGAudioEffectCtrl virtual int StopAccompany(int duckerTime)
파라미터 | 타입 | 의미 |
duckerTime | int | 페이드아웃 시간. |
ITMGContextGetInstance()->GetAudioEffectCtrl()->StopAccompany(0);
ITMGAudioEffectCtrl virtual bool IsAccompanyPlayEnd()
ITMGContextGetInstance()->GetAudioEffectCtrl()->IsAccompanyPlayEnd();
ITMGAudioEffectCtrl virtual int PauseAccompany()
ITMGContextGetInstance()->GetAudioEffectCtrl()->PauseAccompany();
ITMGAudioEffectCtrl virtual int ResumeAccompany()
ITMGContextGetInstance()->GetAudioEffectCtrl()->ResumeAccompany();
ITMGAudioEffectCtrl virtual int EnableAccompanyPlay(bool enable)
파라미터 | 타입 | 의미 |
enable | bool | 들을 수 있는지 여부. |
ITMGContextGetInstance()->GetAudioEffectCtrl()->EnableAccompanyPlay(false);
ITMGAudioEffectCtrl virtual int EnableAccompanyLoopBack(bool enable)
파라미터 | 타입 | 의미 |
enable | bool | 들을 수 있는지 여부. |
ITMGContextGetInstance()->GetAudioEffectCtrl()->EnableAccompanyLoopBack(false);
ITMGAudioEffectCtrl virtual int SetAccompanyVolume(int vol)
파라미터 | 타입 | 의미 |
vol | int | 사운드 수치. |
int vol=100;ITMGContextGetInstance()->GetAudioEffectCtrl()->SetAccompanyVolume(vol);
ITMGAudioEffectCtrl virtual int GetAccompanyVolume()
ITMGContextGetInstance()->GetAudioEffectCtrl()->GetAccompanyVolume();
ITMGAudioEffectCtrl virtual int GetAccompanyFileTotalTimeByMs()ITMGAudioEffectCtrl virtual int GetAccompanyFileCurrentPlayedTimeByMs()
ITMGContextGetInstance()->GetAudioEffectCtrl()->GetAccompanyFileTotalTimeByMs();ITMGContextGetInstance()->GetAudioEffectCtrl()->GetAccompanyFileCurrentPlayedTimeByMs();
ITMGAudioEffectCtrl virtual int SetAccompanyFileCurrentPlayedTimeByMs(unsigned int time)
파라미터 | 타입 | 의미 |
time | int | 플레이 진행 상황, 단위는 밀리초임. |
ITMGContextGetInstance()->GetAudioEffectCtrl()->SetAccompanyFileCurrentPlayedTimeByMs(time);
에러코드 명칭 | 에러코드값 | 에러코드 의미 | 솔루션 |
QAV_ERR_ACC_OPENFILE_FAILED | 4001 | 파일 오픈 실패 | 파일 경로와 파일 존재 여부를 체크합니다. 파일 액세스 권한이 있는지 체크합니다. |
QAV_ERR_ACC_FILE_FORAMT_NOTSUPPORT | 4002 | 지원하지 않는 파일 포멧입니다 | 파일 포멧이 정확한지 체크합니다. |
QAV_ERR_ACC_DECODER_FAILED | 4003 | 디코딩 실패 | 파일포멧이 정확한지 체크합니다. |
QAV_ERR_ACC_BAD_PARAM | 4004 | 파라미터 에러 | 코드에 입력한 파라미터가 정확한지 체크합니다. |
QAV_ERR_ACC_MEMORY_ALLOC_FAILED | 4005 | 메모리 할당 실패 | 시스템 리소스를 소진하였습니다. 혹 이 에러코드가 계속 존재하면 개발자에게 문의해주세요. |
QAV_ERR_ACC_CREATE_THREAD_FAILED | 4006 | 스레드 구축 실패 | 시스템 리소스를 소진하였습니다. 혹 이 에러코드가 계속 존재하면 개발자에게 문의해주세요. |
QAV_ERR_ACC_STATE_ILLIGAL | 4007 | 불법 상태입니다 | 어떤 상태가 아니며, 이 상태에 있을 시에만 허용되는 API를 호출해야 합니다. 그러지 않을 경우 이 에러가 생성합니다. |
문제 해결에 도움이 되었나요?