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());
    }
});