实时安装TTS语音数据android
Install TTS voice data in real time android
我正在尝试通过 google TTS 语音合成器大声朗读印地语文本,它在我的设备上运行良好,因为我已经手动安装了印地语语音数据,但是在另一台设备上进行测试时,不包含印地语语音,不显示下载特定语音数据的提示。这是部分代码:
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
if (requestCode == ACT_CHECK_TTS_DATA) {
if (resultCode == TextToSpeech.Engine.CHECK_VOICE_DATA_PASS) {
// Data exists, so we instantiate the TTS engine
textToSpeech = new TextToSpeech(this, this);
} else {
// Data is missing, so we start the TTS
// installation process
Intent installIntent = new Intent();
installIntent.setAction(TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);
startActivity(installIntent);
}
}
}
所以,TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA
似乎不起作用,但是我不知道它到底做了什么,我相信其余的代码都很好。
我的问题有什么解决方案吗?
使用以下方式检查是否安装了可用语言。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == VOICE_DATA_CHECK) {
ArrayList<String> availableLanguages =
data.getStringArrayListExtra(TextToSpeech.Engine.EXTRA_AVAILABLE_VOICES);
if (availableLanguages.isEmpty()) {
// no language data available, prompt for install
Intent installIntent = new Intent();
installIntent.setAction(TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);
startActivity(installIntent);
} else {
// some language data is available, create TTS instance
mTts = new TextToSpeech(this, this);
}
}
}
我正在尝试通过 google TTS 语音合成器大声朗读印地语文本,它在我的设备上运行良好,因为我已经手动安装了印地语语音数据,但是在另一台设备上进行测试时,不包含印地语语音,不显示下载特定语音数据的提示。这是部分代码:
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
if (requestCode == ACT_CHECK_TTS_DATA) {
if (resultCode == TextToSpeech.Engine.CHECK_VOICE_DATA_PASS) {
// Data exists, so we instantiate the TTS engine
textToSpeech = new TextToSpeech(this, this);
} else {
// Data is missing, so we start the TTS
// installation process
Intent installIntent = new Intent();
installIntent.setAction(TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);
startActivity(installIntent);
}
}
}
所以,TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA
似乎不起作用,但是我不知道它到底做了什么,我相信其余的代码都很好。
我的问题有什么解决方案吗?
使用以下方式检查是否安装了可用语言。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == VOICE_DATA_CHECK) {
ArrayList<String> availableLanguages =
data.getStringArrayListExtra(TextToSpeech.Engine.EXTRA_AVAILABLE_VOICES);
if (availableLanguages.isEmpty()) {
// no language data available, prompt for install
Intent installIntent = new Intent();
installIntent.setAction(TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);
startActivity(installIntent);
} else {
// some language data is available, create TTS instance
mTts = new TextToSpeech(this, this);
}
}
}