2012-08-22 14 views
8

この質問は、Android のみ2.2に言及:特定のTTSエンジンがチェック(有効)されているかどうかを確認するには?

  1. ピコTTS(フローズンヨーグルト2.2のようにAndroidのデフォルト)
  2. IVONA:

    次のスクリーンショットは、インストール3異なるテキストを音声に変換するエンジンを示していますテキスト音声合成HQ

  3. SVOXクラシックTTS

このスクリーンショットでは、あなたは共同uldは3つすべてがチェック(有効)されているわけではありません。代わりにIVONAはチェックされず、Pico(暗黙のうちにハードコードされている)とSVOX(チェックされている)だけが残されます。

enter image description here

特定のTTSエンジン(例えばIVONA)はcheckedであるかどうか私は(もちろん、コーディング時に、私が知っている彼らのパッケージ名を想定)プログラムで自分のアプリケーションから照会できるようにしたいと思います。アンドロイド2.2私が持っているすべてで

がチェックされている(つまり、どのように私は知っている本当にピコがデフォルトとSVOXとして選択されている状況で助けることができないgetDefaultEngine()あることSVOXPicoがデフォルトの場合、チェックされます。

2.2でこれを行うにはどうすればよいですか?

これはすべて可能ですか?

P.S.アンドロイドの4.x(API> = 14)この問題は、ICS +のために解決されることを信じるようにあなたを導くが、綿密に検討がことが明らかになったことがありgetEngines()導入:

  1. getEngines()のみをインストールは(をチェックされていないを示していますが有効になっています)。
  2. リストされた各パッケージに付属するEngineInfoには、名前、ラベル、アイコン、優先度、およびシステムイメージの一部であるかどうかだけが記載されています。つまり、Android 2.2と同じ制限です。

答えて

0

を参照してくださいAndroid TextToSpeech API guide

getEngines()は、それぞれについてのいくつかの情報を、インストールされているすべてのエンジンのリストが表示されます。

getDefaultEngine()は、ユーザーがデフォルトとして選択したエンジンのパッケージ名を指定します。

各エンジンのパッケージ名(または前もって持っているリスト)をデフォルトのエンジンのパッケージ名と比較すると、どのエンジンが選択されているかを見ることができます。

第二は、APIレベル8

+0

から入手可能ですが、かつての機能は、APIレベル14からのみ利用可能であることに注意してください申し訳ありませんが、私はアンドロイドを探していますことを強調するのを忘れ** 2.2 **互換性のあるソリューション。 'getDefaultEngine()'は* Pico *がデフォルトとして選択され、* SVOX *がチェックされている状況では本当に助けになりません。 * Pico *がデフォルトの場合、* SVOX *がチェックされていることをどのように知ることができますか? – an00b

+2

将来、質問を編集しているというコメントの中で、私の答えはちょうどdownvotedになってしまっていると思います。 API 8のチェックエンジンについて教えてくれるAndroidのドキュメントには何も表示されないので、不可能かもしれないと思います。 – Hbcdev

+0

ごめんなさい。 IMHO、あなたは 'getEngines()'と 'getDefaultEngine()'のどちらも、特定のTTSエンジンが**チェック**されているかどうかを知ることができないので、この答えを削除するべきです。この質問に未解決のまま残っている方がよいので、特定のTTSエンジンが**チェックされているかどうかを知ることはできません**。あなたのコメント+1。 – an00b

関連する問題