보이스 설정 가져오기
설명
이 API는 여러 보이스를 지원하는 게임에만 적용되며, 현재 IP를 기준으로 해당 보이스 설정을 가져옵니다. 이 기능이 필요하지 않은 게임은 이 API를 연동하지 않아도 됩니다.
함수
java
GDSDK.gamedreamerGetVoiceConfig(Context context, GamedreamerVoiceListener listener)콜백
onSuccess(VoiceResult result)
보이스 설정을 성공적으로 가져왔을 때 호출됩니다.
| 속성 | 유형 | 설명 |
|---|---|---|
| regionCode | String | 현재 IP에 해당하는 지역 코드입니다. |
| voiceCode | VoiceCode | 보이스 언어 식별자입니다. VoiceCode.CANTONESE 또는 VoiceCode.MANDARIN과 비교하여 검증할 수 있습니다. |
| voiceName | String | 보이스 언어 이름입니다. |
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());
}
});