Search in sources :

Example 1 with OfflineResource

use of com.ichi2.bd.OfflineResource in project AnkiChinaAndroid by ankichinateam.

the class AbstractFlashcardViewer method getParams.

/**
 * 合成的参数,可以初始化时填写,也可以在合成前设置。
 *
 * @return 合成参数Map
 */
protected Map<String, String> getParams() {
    Map<String, String> params = new HashMap<>();
    // 以下参数均为选填
    // 设置在线发声音人: 0 普通女声(默认) 1 普通男声 3 情感男声<度逍遥> 4 情感儿童声<度丫丫>, 其它发音人见文档
    params.put(SpeechSynthesizer.PARAM_SPEAKER, "0");
    // 设置合成的音量,0-15 ,默认 5
    params.put(SpeechSynthesizer.PARAM_VOLUME, "15");
    // 设置合成的语速,0-15 ,默认 5
    // params.put(SpeechSynthesizer.PARAM_SPEED, String.valueOf(ReadText.getSpeechRate(mCurrentCard.getDid(), mCurrentCard.getOrd())*5));
    params.put(SpeechSynthesizer.PARAM_SPEED, "5");
    // 设置合成的语调,0-15 ,默认 5
    params.put(SpeechSynthesizer.PARAM_PITCH, "5");
    if (!isOnlineSDK) {
        // 在线SDK版本没有此参数。
        /*
            params.put(SpeechSynthesizer.PARAM_MIX_MODE, SpeechSynthesizer.MIX_MODE_DEFAULT);
            // 该参数设置为TtsMode.MIX生效。即纯在线模式不生效。
            // MIX_MODE_DEFAULT 默认 ,wifi状态下使用在线,非wifi离线。在线状态下,请求超时6s自动转离线
            // MIX_MODE_HIGH_SPEED_SYNTHESIZE_WIFI wifi状态下使用在线,非wifi离线。在线状态下, 请求超时1.2s自动转离线
            // MIX_MODE_HIGH_SPEED_NETWORK , 3G 4G wifi状态下使用在线,其它状态离线。在线状态下,请求超时1.2s自动转离线
            // MIX_MODE_HIGH_SPEED_SYNTHESIZE, 2G 3G 4G wifi状态下使用在线,其它状态离线。在线状态下,请求超时1.2s自动转离线
            // params.put(SpeechSynthesizer.PARAM_MIX_MODE_TIMEOUT, SpeechSynthesizer.PARAM_MIX_TIMEOUT_TWO_SECOND);
            // 离在线模式,强制在线优先。在线请求后超时2秒后,转为离线合成。
            */
        // 离线资源文件, 从assets目录中复制到临时目录,需要在initTTs方法前完成
        OfflineResource offlineResource = createOfflineResource(offlineVoice);
        // 声学模型文件路径 (离线引擎使用), 请确认下面两个文件存在
        params.put(SpeechSynthesizer.PARAM_TTS_TEXT_MODEL_FILE, offlineResource.getTextFilename());
        params.put(SpeechSynthesizer.PARAM_TTS_SPEECH_MODEL_FILE, offlineResource.getModelFilename());
    }
    return params;
}
Also used : HashMap(java.util.HashMap) OfflineResource(com.ichi2.bd.OfflineResource)

Aggregations

OfflineResource (com.ichi2.bd.OfflineResource)1 HashMap (java.util.HashMap)1