Android 2.3 用の TTS ベースのアプリを開発しました。たとえば、最近のバージョンの Android (4.2.2) では、デフォルトでインストールされている場所にデフォルトの TTS 言語がないため、[設定] --> [言語と入力] --> [テキストから音声への出力] に移動して手動でダウンロードする必要があることに気付きました。 --> Google テキスト読み上げ --> 音声データのインストール
言語を自動的にインストールする方法はありますか?
Android 2.3 用の TTS ベースのアプリを開発しました。たとえば、最近のバージョンの Android (4.2.2) では、デフォルトでインストールされている場所にデフォルトの TTS 言語がないため、[設定] --> [言語と入力] --> [テキストから音声への出力] に移動して手動でダウンロードする必要があることに気付きました。 --> Google テキスト読み上げ --> 音声データのインストール
言語を自動的にインストールする方法はありますか?
言語を自動的にインストールする方法はありますか?
はい。ただし、ドキュメントに記載されているように、(ユーザーの同意なしに) 自動的に行われることはありません。
データのインストールはユーザーによって中断または拒否される可能性があるため、アプリケーションはそのインテントから戻ったときにインストールの成功を期待すべきではありません...
とにかく、次のような方法でインストールをトリガーできます。
/**
* 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 + ")");
}
}