TTSエンジンがインストールされているかどうかなど、デバイスのTTSエンジン情報をプログラムで取得する方法を知りたいのですが、インストールされている場合、それらは何であり、各TTSエンジンでサポートされているさまざまな言語は何ですか? これを実現するには、Android バージョン 2.1 (API レベル 7) を使用する必要があります。
この機能の実装を手伝ってください。
よろしく、
ピック
TTSエンジンがインストールされているかどうかなど、デバイスのTTSエンジン情報をプログラムで取得する方法を知りたいのですが、インストールされている場合、それらは何であり、各TTSエンジンでサポートされているさまざまな言語は何ですか? これを実現するには、Android バージョン 2.1 (API レベル 7) を使用する必要があります。
この機能の実装を手伝ってください。
よろしく、
ピック
最初に結果のインテントを送信することで確認できます
Intent intent = new Intent();
intent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
startActivityForResult(intent, 0);
次に、TTS エンジンをインストールしているかどうかを onActivityResult メソッドで確認できます。
@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();
}
それがうまくいくことを願っています:)
これにより、Android にインストールされている TTS エンジンのリストが表示されます。
tts = new TextToSpeech(this, this);
for (TextToSpeech.EngineInfo engines : tts.getEngines()) {
Log.d("Engine Info " , engines.toString());
}
クリックを保存するには:
これを起動して、TTSがインストールされているかどうかを確認します。
Intent checkIntent = new Intent();
checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
startActivityForResult(checkIntent, MY_DATA_CHECK_CODE);
そして、これで結果を取得します:
private TextToSpeech mTts;
protected void onActivityResult(
int requestCode, int resultCode, Intent data) {
if (requestCode == MY_DATA_CHECK_CODE) {
if (resultCode == TextToSpeech.Engine.CHECK_VOICE_DATA_PASS) {
// success, create the TTS instance
mTts = new TextToSpeech(this, this);
} else {
// missing data, install it
Intent installIntent = new Intent();
installIntent.setAction(
TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);
startActivity(installIntent);
}
}
}
この公式のAndroid ブログ投稿では、TTS エンジンがインストールされて使用できる状態になっているかどうかを検出するためのベスト プラクティスや、TTS に関するその他のプラクティスを紹介しています。