gpt4 book ai didi

android - 对于非默认语言,在 2.1 中使用 TextToSpeech.Engine.ACTION_CHECK_TTS_DATA 的正确方法是什么?

转载 作者:太空宇宙 更新时间:2023-11-03 10:52:01 24 4
gpt4 key购买 nike

Intent intent = new Intent();
intent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
startActivityForResult(intent, 0);

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == 0){
if(resultCode == TextToSpeech.Engine.CHECK_VOICE_DATA_PASS){
Toast.makeText(getApplicationContext(),"Already Installed", Toast.LENGTH_LONG).show();
} else {
Intent installIntent = new Intent();
installIntent.setAction(TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);
startActivity(installIntent);
Toast.makeText(getApplicationContext(),"Installed Now", Toast.LENGTH_LONG).show();
}
}
}

伙计们,以上代码仅在 OS Default language == TTS installed language 时有效。如果它们不同,则分支到 ACTION_INSTALL_TTS_DATA。显然,应该是TextToSpeech.Engine.ACTION_CHECK_TTS_DATA的附加数据,指定需要检查哪些语言数据,但我找不到。

当用户以英语作为默认操作系统语言运行法语-德语词典之类的东西时,会出现以下场景。

场景:安装了 SVOX + 德语、法语。默认语言设置为英语或其他语言。关键不是德语或法语看起来像 TextToSpeech.Engine.ACTION_CHECK_TTS_DATA 检查 SVOX 中是否存在英语,然后返回 CHECK_VOICE_DATA_FAIL。如果语言设置为德语,结果将是CHECK_VOICE_DATA_PASS

有类似的问题,但看起来试图回答的人并没有完全理解问题。 how to get to know programmatically whether any TTS engine installed in my device or not?

最佳答案

您是否尝试过获取额外的 TextToSpeech.Engine.EXTRA_CHECK_VOICE_DATA_FOR

根据this link中的源代码,它将使您能够传递您特别想要检查的语音区域设置的参数。

关于android - 对于非默认语言,在 2.1 中使用 TextToSpeech.Engine.ACTION_CHECK_TTS_DATA 的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11812425/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com