日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Android SDK(舊版)

本文介紹了如何使用阿里云智能語音服務提供的舊版Android SDK,包括SDK的安裝方法及SDK代碼示例。請注意,新用戶請關注新版Android SDK。

注意

推薦您使用新版本Android SDK,本版本后續將不再更新。詳情請參見Android SDK

前提條件

關鍵接口

  • NlsClient:語音處理客戶端,利用該客戶端可以進行一句話識別、實時語音識別和語音合成的語音處理任務。該客戶端為線程安全,建議全局僅創建一個實例。

  • SpeechSynthesizer:代表一次語音合成請求。

  • SpeechSynthesizerCallback:語音合成回調接口,在獲得合成音頻數據、發生錯誤等事件發生時會觸發回調。您需要實現此接口,在回調方法中加入自己的處理邏輯。

調用順序

  1. 創建NlsClient實例。

  2. 定義SpeechSynthesizerCallback實現類,按業務需求處理識別結果或錯誤情況。

  3. 調用NlsClient.createSynthesizerRequest()方法得到SpeechSynthesizer實例。

  4. 設置SpeechSynthesizer參數。

    包括access Token、appkey、語音文本(text)、發音人(voice)和語速(speechRate)等。

  5. 調用SpeechSynthesizer.start()方法開始與云端服務連接。

  6. 在回調中獲得合成的音頻數據并播放,或者處理錯誤。

  7. 調用SpeechSynthesizer.stop()方法結束語音合成。

    說明

    如果需要發起新的請求,請重復步驟3~7。

  8. 調用NlsClient.release()方法釋放客戶端實例。

Proguard配置

如果代碼使用了混淆,請在proguard-rules.pro中配置:

-keep class com.alibaba.idst.util.*{*;}

代碼示例

  • 創建識別請求

    // 創建語音合成對象
    speechSynthesizer = client.createSynthesizerRequest(callback);
    speechSynthesizer.setToken("");
    speechSynthesizer.setAppkey("");
    // 設置語音編碼,PCM編碼可以直接用audioTrack播放,其他編碼不行。
    speechSynthesizer.setFormat(SpeechSynthesizer.FORMAT_PCM);
    // 以下選項都會改變最終合成的語音效果。
    // 設置語音數據采樣率
    speechSynthesizer.setSampleRate(SpeechSynthesizer.SAMPLE_RATE_16K);
    // 設置人聲
    speechSynthesizer.setVoice(SpeechSynthesizer.VOICE_XIAOGANG);
    // 設置語音合成方法
    speechSynthesizer.setMethod(SpeechSynthesizer.METHOD_RUS);
    // 設置語速
    speechSynthesizer.setSpeechRate(100);
    // 設置是否返回語音對應的時間戳信息
    speechSynthesizer.setEnableSubtitle(true);
    // 設置要轉為語音的文本
    speechSynthesizer.setText("歡迎使用智能語音!");
    speechSynthesizer.start()
  • 獲取合成語音并播放

    // 獲取音頻數據的回調,在這里將音頻寫入播放器。
    @Override
    public void OnBinaryReceived(byte[] data, int code)
    {
        Log.d(TAG, "binary received length: " + data.length);
        if (!playing) {
            playing = true;
            audioTrack.play();
        }
        audioTrack.write(data, 0, data.length);
    }
  • 返回語音時間戳信息

    // 調用onMetaInfo,需要設置:SpeechSynthesizer.setEnableSubtitle(true)。
    @Override
    public void onMetaInfo(String message, int code) {
        Log.d(TAG,"onMetaInfo " + message + ": " + String.valueOf(code));
    }