向 TTS 引擎发送请求时,有什么方法可以控制 TTS 引擎的音量吗?我可以在这里使用 AudioManager 吗?
谢谢。
您可以在 TTS talk() 方法中获取此信息,但只能从 API 级别 11 开始。
为了保持向后兼容性,您可以定位更高的 api 级别(具有较低的最小 sdk)并使用“@TargetApi(api_level)”装饰器以及 sdk 版本检查。
/** speak the single word, at a lower volume if possible */
protected void speakOneWord(String text) {
int apiVer = android.os.Build.VERSION.SDK_INT;
if (apiVer >= 11){
speakApi13(text);
} else {
// compatibility mode
HashMap<String, String> params = new HashMap<String, String>();
mTts.speak(text, TextToSpeech.QUEUE_ADD, params);
}
}
/** speak at a lower volume, for platform >= 13 */
@TargetApi(13)
protected void speakApi13(String text) {
HashMap<String, String> params = new HashMap<String, String>();
params.put(TextToSpeech.Engine.KEY_PARAM_VOLUME, "0.1");
mTts.speak(text, TextToSpeech.QUEUE_ADD, params);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)