2013-06-04 15 views
5

私のAndroid搭載携帯に付属のGoogle TTSエンジンが、それをサポートするすべてのAndroid搭載端末に工場出荷時のデフォルト設定でインストールされているかどうかを確認しようとしていますか?私はこれを理解するためにどのような参考資料が必要なのかよくわからないので、私の計画は小売業者のソフトバンクに行き、尋ねることです。私はそれが彼らが答えることができないだろうという疑問だと思う。Google TTSエンジンはすべてのAndroid搭載端末に搭載されていますが、どこで入手できますか?

私はギャラクシーがGoogle TTSに付属していないと言われました。だから、ギャラクシーを持っている人は、少なくとも私にそれをまっすぐに設定することができます....

Google TTSエンジンのパッケージ版を入手するにはどうすればいいですか?私はPlay Storeで見つけることができません。私が見つけた最高のものは、ライセンスを見ることで見つけられました(それらの甘いものは常に開発者の名前とサイトを持っています)。それで、HMMを使ったHTSエンジンですよね?しかし、私は自分のウェブサイト上でAndroidのパッケージを見つけることができません。私の次のステップは開発者に連絡することです。私は翻訳された電子メールの校正を読んでいます(うまくいけば私自身の答えを見つけて投稿することができます)。

すべての情報をいただければ幸いです。

+0

エンジンが存在しない場合は、プログラムで確認してからインストールしてください。 –

+0

なぜそれが必要ですか?これは個別には配布されず、おそらく一部の独自のデータやWebサービスに依存します。デバイス用に使用する場合は、おそらくGoogleからライセンスを取得する必要があります。いずれにせよ、プログラミングの質問ではありません。 –

+0

@HoanNguyenしかし、私はバイナリを入手する場所を知らない。 –

答えて

4

をダウンロードするには、Googleの店に行かない場合、私は受け入れ答えが本当に正しいとは思いません。このコードは、Google TTSエンジンがインストールされているかどうかを確認しません。 TTSエンジンがインストールされているかどうかを尋ねるためにTTSエンジンが一般的に応答するという意図が始まります。

TTSエンジンがインストールされていない場合、タイプActivityNotFoundExceptionの例外によってFCが発生する可能性があります。あなたが他のTTSエンジン(ピコのような)を持っているなら、それは応答し、それがデータであることを確認します。複数のTTSエンジンを使用している場合は、どのTTSエンジンを使用するかを尋ねられます。

代わりにパッケージマネージャでパッケージ名を確認する必要があります。このコードはSVOX Pico TTSを確認します:

public void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 
    if(isPackageInstalled(getPackageManager(), "com.svox.pico")){ 
     ttsInstalled = true; // This would be good to have it as a static member 
    } 
} 


public static boolean isPackageInstalled(PackageManager pm, String packageName) { 
     try { 
      pm.getPackageInfo(packageName, 0); 
     } catch (NameNotFoundException e) { 
      return false; 
     } 
     return true; 
} 
1

Google TTSはGoogleが開発した独自のパッケージで、ICS [要出典]以来、ほとんどのデバイス(特にNexusデバイス)で利用できます。 Google Playストア、Googleマップ、Google +、Gmail、YouTube、Google検索、Google Playミュージック、Google Playブックスなど、Googleが開発したアプリの一部です。 Playストアからダウンロードできるわけではありません。

私が知る限り、Googleが何らかの形でそれをオープンソースにして一般に公開することを決めない限り、あなたはそれを持つことはできません。すでに言及したように、Google TTSは、修正BSDライセンスの下でリリースされたHTK(これはライセンスページからもわかる)のHTSパッチ(それ自体はエンジンではありません)を使用します。つまり、あなたはエンジンのコピーを得ることができません。

TTSエンジンを開発する場合は、ソースコードがAOSP repositoryであるPICO TTSエンジンをお勧めします。

+0

他の回答をお読みください。私たちはこれを終わりました。 –

+0

AOSPに感謝します。 :) –

2

テキスト読み上げがインストールされている場合、このコードは、チェックしますと

Intent intent = new Intent(); 
intent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA); 
ArrayList<String> languages = new ArrayList<String>(); 
languages.add("eng-USA"); //$NON-NLS-1$ 
intent.putStringArrayListExtra(TextToSpeech.Engine.EXTRA_CHECK_VOICE_DATA_FOR, 
                languages); 
startActivityForResult(intent, REQUEST_TTS_DATA_CHECK_CODE); 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent intent) 
{ 
    super.onActivityResult(requestCode, resultCode, intent); 

    switch (requestCode) 
    { 
     case REQUEST_TTS_DATA_CHECK_CODE: 
      if (resultCode != TextToSpeech.Engine.CHECK_VOICE_DATA_PASS) 
      { 
       // show Alert Dialog to ask user go to play store to install 
       // When user click OK this is the code to set 
       intent.setAction(TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA); 
       startActivity(intent); 
      } 
      break; 

} 
関連する問題