Skip to content

보이스 설정 가져오기 ​

설명 ​

이 API는 여러 보이스를 지원하는 게임에만 적용되며, 현재 IP를 기준으로 해당 보이스 설정을 가져옵니다. 이 기능이 필요하지 않은 게임은 이 API를 연동하지 않아도 됩니다.


함수 ​

java
GDSDK.gamedreamerGetVoiceConfig(Context context, GamedreamerVoiceListener listener)

콜백 ​

onSuccess(VoiceResult result) ​

보이스 설정을 성공적으로 가져왔을 때 호출됩니다.

속성유형설명
regionCodeString현재 IP에 해당하는 지역 코드입니다.
voiceCodeVoiceCode보이스 언어 식별자입니다. VoiceCode.CANTONESE 또는 VoiceCode.MANDARIN과 비교하여 검증할 수 있습니다.
voiceNameString보이스 언어 이름입니다.

onFail(VoiceSdkError error) ​

보이스 설정을 가져오지 못했을 때 호출되며, error에 오류 정보가 포함됩니다.


사용 권장 사항 ​

  • 로그인 성공 후 이 API를 호출하세요. 아직 로그인하지 않은 경우 SDK가 팝업을 표시하며 콜백을 트리거하지 않습니다.
  • 설정 가져오기에 실패하면 호출 측에서 재시도하는 것을 권장합니다. 재시도 후에도 실패하면 기본 보이스를 사용하세요.
  • 다른 보이스 언어를 지원해야 하는 경우 먼저 기술 지원 담당자에게 문의하여 확인하세요.
  • 보이스 설정을 성공적으로 가져온 후에는 호출 측에서 결과를 캐시하고 이 API를 반복해서 호출할 필요가 없습니다.

예시 코드 ​

java
import com.gd.sdk.dto.VoiceSdkError;
import com.gd.sdk.dto.VoiceResult;
import com.gd.sdk.dto.VoiceCode;
import com.gd.sdk.listener.GamedreamerVoiceListener;

GDSDK.gamedreamerGetVoiceConfig(this, new GamedreamerVoiceListener() {
    @Override
    public void onSuccess(VoiceResult result) {
        Log.i(TAG, "regionCode=" + result.getRegionCode()
                + ", voice=" + result.getVoiceCode().getValue()
                + ", voiceName=" + result.getVoiceName());
        if (result.getVoiceCode().equals(VoiceCode.CANTONESE)) {
            simpleToast("檢測到粵語");
        } else if (result.getVoiceCode().equals(VoiceCode.MANDARIN)) {
            simpleToast("檢測到普通話");
        } else {
            simpleToast("檢測到其他語言:" + result.getVoiceCode().getValue());
        }
    }

    @Override
    public void onFail(VoiceSdkError error) {
        Log.e(TAG, "voice detection failed: " + error.getType()
                + ", " + error.getMessage(), error.getCause());
    }
});