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;
}
Aggregations