본문으로 건너뛰기
버전: 최신 버전

AIPlayer 기능

MethodDescription
init(json)원하는 AI를 셋업합니다. (async)
getState()AIPlayer의 현재 상태값을 리턴합니다.
setter(json)AIPlayer를 설정합니다
getter(string)AIPlayer 설정 정보를 확인합니다.
preload(json)AI에게 할말을 프리로드 시킵니다.
send(text)AI에게 발화를 시킵니다.
pause()하던 말이 있으면 영상과 음성을 잠시 중단합니다.
resume()플레이 중이었으면 멈춘 곳에서 부터 다시 시작합니다.
stopSpeak()현재 하고 있는 말을 멈추고 할말 큐에 있는 내용도 삭제합니다.
release()리소스 해제(async)
getGestures()제스처 콜렉션(사용가능한 제스처)을 가져옵니다.
getGender()현재 설정된 AI의 성별을 가져옵니다. MALE, FEMALE, UNI 값을 가질수 있으며 AI가 설정되지 않았으면 null을 리턴합니다.
reconnect(callback)연결이 끊겼거나 handshake 인증 실패 후 재연결합니다. 새 generateToken() 뒤에만 호출하세요.
isConnected()현재 AI가 연결된 상태인지 확인합니다.
canPreload(callback)프리로드 가능한지 확인합니다.
setVolume(volume)볼륨 조절.
getVolume()현재 볼륨값을 확인합니다.
setMute(isMute)음소거를 제어합니다.
getMute()음소거 상태를 확인합니다.
generateToken()AIAPI - ClientToken을 세션 JWT로 교환합니다. (async)
getAIList()AIAPI - SDK 인증 성공한 상태에서 사용가능한 AI 리스트를 콜백을 제공합니다. (async)
getSampleTextList()AIAPI - 해당 언어의 샘플 문장을 불러 와서 콜백으로 전달합니다. (async)
setConfig(json)AIAPI - Set configurations on AIPlayer

1. AIPlayer.init(json)​

원하는 AI로 AIPlayer 셋업합니다. (getAIList)

  • Parameter

    ParamTypeDescription
    jsonObjectinit 함수의 파라미터들
    json.aiNameStringgetAIList() 의 data.ai[].ai_name (model_id 아님)
    json.sizeFloatAI 아바타 크기 (optional, default: 1.0)
    json.leftNumberAI 아바타 가로축 위치 (optional, default: 0, pixel)
    json.topNumberAI 아바타 세로축 위치 (optional, default: 0, pixel)
    json.speedFloatAI 아바타 발화 및 행동 속도 (optional, step, 0.1, range: 0.5 ~ 1.5, default: 1)
  • Example

const result = await AI_PLAYER.init({
aiName: list.data.ai[0].ai_name,
size: 1.0,
left: 0,
top: 0,
speed: 1.0,
});

2. AIPlayer.getState()​

AIPlayer의 상태를 가져옵니다. 여기AIPlayerState를 확인하십시오.

  • Return Parameter: AIPlayerState

  • Example

  const state = AI_PLAYER.getState();

3. AIPlayer.setter(json)​

AIPlayer를 셋팅합니다.

  • Parameter

    ParamTypeDescription
    jsonObjectparameters of the setter function
    json.sizeFloatAI model size (optional, range: 0 ~ 2.0, default: 1.0)
    json.topNumberAI model top (optional, default: 0)
    json.leftNumberAI model left (optional, default: 0)
    json.speedFloatAI model speech rate (optional, step, 0.1, range : 0.5 ~ 1.5, default: 1)
  • Example

AI_PLAYER.setter({ size: 1.2, top: 20, left: 20, speed: 1.2 });

4. AIPlayer.getter(key)​

AIPlayer의 셋팅값을 가져옵니다.

  • Return Parameter: AI model or AIPlayer information

    ParamTypeValueDescription
    keyString'maxTextLength' | 'long_speech' | 'language' | 'size' | 'top' | 'left' | 'speed'AI model or AIPlayer information
  • Example

AI_PLAYER.getter("size");

5. AIPlayer.send(...)​

AI에게 발화를 시킵니다. (프리로드된 데이터가 있으면, 이를 사용합니다) 여러 문장을 발화시키려면 Array 타입을 사용하십시오.

  • 2가지 타입으로 전달 가능합니다.

    ParamTypeDescription
    textString하나의 보통 문장 형태
    textsArray<String>여러개의 문장 형태
  • Example

//Case1. One Sentence Speak (text)
AI_PLAYER.send("Nice to meet you");
//Case2. Multi Sentences Speak (String Array)
AI_PLAYER.send(["Nice to meet you", "How are you?"]);

6. AIPlayer.preload(...)​

AI 발화 데이터를 프리로드합니다.

  • 4가지 타입으로 전달 가능합니다.

    ParamTypeDescription
    textString하나의 보통 문장 형태
    textsArray<String>여러개의 문장 형태
    AIClipSetObject하나의 제스처 포함 문장 형태
    AIClipSetsArray<Object>제스처 포함이 가능한 여러개의 문장 형태
  • Example

// Case1. One Sentence Preload (text)
AI_PLAYER.preload("Nice to meet you");
// Case2. Multi Sentence Preload (String Array)
AI_PLAYER.preload(["Nice to meet you", "How are you?"]);
// Case3. One Gesture Preload (json)
AI_PLAYER.preload({ text: "Nice to meet you", gst: "hi" });
// Case4. Multi Gesture Preload (json Array)
AI_PLAYER.preload([{ text: "Nice to meet you", gst: "hi" }, { text: "How are you?" }]);

7. AIPlayer.pause()​

발화를 일시 중지 시킵니다.


8. AIPlayer.resume()​

일시중지된 발화를 재시작 시킵니다.


9. AIPlayer.stopSpeak()​

현재 발화를 중지시키고, 발화 큐에 데이터도 클리어시킵니다.


10. AIPlayer.release()​

AIPlayer의 자원을 해제합니다. 더이상 사용치 않을때 호출합니다.

사용자가 아바타를 끌 때만 호출하세요. 잠깐 끊기거나 토큰 에러 1402에서 호출하면 세션이 끝납니다. release() 없이 reconnect하면 같은 세션이 이어집니다. release() 후 다음 init()은 새 세션입니다.

  • Examples
AI_PLAYER.release();

11. AIPlayer.getGestures()​

현재 AI의 제스처 목록을 가져옵니다.

  • Return Parameter: Array<AIGesture>

  • Examples

const gestures = AI_PLAYER.getGestures();

12. AIPlayer.getGender()​

현재 AI의 성별을 가져옵니다.

  • Return Parameter: MALE || FEMALE || UNI || null

  • Examples

const gender = AI_PLAYER.getGender();

13. AIPlayer.reconnect(callback)​

AIPlayer.reconnect((callback = () => {}));

소켓을 다시 붙입니다. 화면의 플레이어는 유지한 채 onAIPlayerErrorV2가 1402(JWT 만료)를 보고한 뒤, 또는 disconnect 뒤에 generateToken()을 한 다음 호출하세요.

handshake 인증 실패는 connect / AI_DISCONNECTED가 없을 수 있습니다. 새 토큰 교환 후에는 그래도 reconnect()를 호출하면 됩니다. 만료된 JWT로 다시 붙이지 마세요(1402 루프). 1407은 재시도하지 마세요. 트러블슈팅을 참고하세요.


14. AIPlayer.isConnected()​

const isConnected = AI_PLAYER.isConnected();

15. AIPlayer.canPreload()​

const canPreload = AI_PLAYER.canPreload((callback = () => {}));

16. AI_PLAYER.setVolume(volume)​

AI_PLAYER.setVolume(volume);

const curVolume = AI_PLAYER.getVolume();

17. AI_PLAYER.setMute(isMute)​

AI_PLAYER.setMute(true);

const isMuted = AI_PLAYER.getMute();

18. AI_PLAYER.setConfig(json)​

AIPlayer의 속성을 다양하게 설정합니다.

  • Parameter

    ParamTypeDescription
    jsonObject설정 json object
    json.enableEarlyStartBooleanidle 배경의 앞부분을 먼저 로드해 더 일찍 렌더링을 시작한다. 첫 화면까지의 시간을 줄인다. (default: false)
  • Example

AI_PLAYER.setConfig({
enableEarlyStart: false
})