我开发了一款基于TTS for Android 2.3的应用程序. 我注意到在最新版本的Android(4.2.2)中,没有默认安装的默认TTS语言,你必须通过以下方式手动下载它们: 设置 – 语言和输入 – 文本到语音输
我注意到在最新版本的Android(4.2.2)中,没有默认安装的默认TTS语言,你必须通过以下方式手动下载它们:
设置 – >语言和输入 – >文本到语音输出 – > Google文字转语音 – >安装语音数据
有没有办法自动安装语言?
Is there a way to install a language automatically?
是的,但这不会自动发生(未经用户同意),如docs所述:
Since the installation of the data can be interrupted or declined by the user, the application shouldn’t expect successful installation upon return from that intent…
无论如何,你可以用this之类的东西触发安装:
/** * Ask the current default engine to launch the matching INSTALL_TTS_DATA activity * so the required TTS files are properly installed. */ private void installVoiceData() { Intent intent = new Intent(TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setPackage("com.google.android.tts"/*replace with the package name of the target TTS engine*/); try { Log.v(TAG, "Installing voice data: " + intent.toUri(0)); startActivity(intent); } catch (ActivityNotFoundException ex) { Log.e(TAG, "Failed to install TTS data, no acitivty found for " + intent + ")"); } }