0

Androidでデフォルトの音声合成エンジンが有効になっているかどうかを確認することはできますか?そうでない場合は、Androidプログラムで有効にできますか?もしそうなら、どのように?

Intent checkIntent = new Intent();
checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
startActivityForResult(checkIntent, MY_DATA_CHECK_CODE);

上記のコードは、使用可能なさまざまなTTSを示し、ダイアログボックスとして表示されます。次に、必要なTTSを選択して、[OK]をクリックします。これを行うと、システム(タブレットまたは電話)が選択したTTSを自動的に選択し、有効にします。

カスタマイズされたレイアウト(インストールされているTTSをリストアップ)に配置して同じことを行うことはできますか?また、必要なものを選択して、有効化ボタンなどをクリックして有効にすることはできますか?

ありがとう!

4

1 に答える 1

0

ICS で利用可能な TTS エンジンを一覧表示し、Froyo 以降でパッケージ名と言語によって可用性をテストできます。TTS エンジンはシステムによって制御されるため、アプリから無効化/有効化することはできません。ユーザーにそうするように促すことしかできません。

Re: 質問を編集しました。これはまったく別の話です。このインテントは、TTS データがインストールされているかどうかを確認します。複数のエンジンがある場合は、インテントを処理するエンジンを 1 つ選択する必要があります。これは、Android がインテントをディスパッチする方法であり、TTS とは関係ありません。ダイアログを呼び出して意図を明示的にすると、表示されIntent.setPackage("my.tts.package")ません。これは、TTS エンジンが有効になっているかどうかをチェックしないことに注意してください。確認していませんが、設定で TTS エンジンが無効になっている場合、有効になるとは思えません。

于 2012-09-06T03:59:35.480 に答える