1

Androidでテキスト読み上げを実装しようとしていますが、この件名には紛らわしいトピックがあり、誰かが親切に解決してくれることを願っています.

なのでこれによると

http://android-developers.blogspot.pt/2009/09/introduction-to-text-to-speech-in.html

すべての Android デバイスには Google TTS エンジンが搭載されていますが、デバイスによってはストレージが限られており、言語固有のリソースが不足している場合があります。

そして、この答えにたどり着く言語が利用可能かどうかを単純にチェックする意図について話します

ACTION_CHECK_TTS_DATA インテントが「使いにくい」のはなぜですか?

インテントを介してチェックする必要はありませんが、 isLanguageAvailable() を呼び出して言語が使用可能かどうかをチェックする単純な if ステートメントを使用する必要はありません。

だから私の問題は:

Google テキスト読み上げエンジンは Play ストアにあり、アップデートがリリースされています。ユーザーがテキスト読み上げエンジンを更新する必要があるかどうかは、どうすればわかりますか? そして、サムスンのデバイスにはデフォルトでサムスンの音声があり、Googleバージョンではないため、実際にインストールされているかどうかをどのように知ることができますか.

https://play.google.com/store/apps/details?id=com.google.android.tts&hl=ja

そして、別のスパナを投げるために、この記事があります

Google は最近、Play ストアの Text-to-Speech アプリを更新して機能を削除しました。更新により、テキスト読み上げアプリで高品質の音声をダウンロードできなくなりました

Google によると、標準の音声エンジンは「現在、以前のリリースの高品質音声の品質を上回っています」。

http://www.androidcentral.com/google-removes-high-quality-voices-text-speech-update-thats-not-bad-thing

Google Text to Speech がインストールされているかどうか、更新されているかどうかはどうすればわかりますか

4

1 に答える 1

0

Android 用のデフォルトのテキスト読み上げエンジンを使用しない理由は、Android が標準中国語をサポートしていないためです。これはあなたの場合ではないかもしれませんが、私の答えは実装が非常に簡単で、試してみる価値があるかもしれません. 更新などを確​​認する必要はありません。Google がこの非公式 API を変更する可能性があるため、この解決策は恒久的なものではありません。とにかく、ここにあります:

    String url = "http://translate.google.com/translate_tts?ie=utf-8&tl=zh-TW&q=";
    mPlayer = new MediaPlayer();
    mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);

    try{

        mPlayer.setDataSource(url);
        mPlayer.prepareAsync();
        Log.i("url", url);

    }catch(Exception e){
        Log.e("mediaPlayer", e.toString());
    }

必要に応じて URL を変更する必要があります。たとえば、英語のテキストを読み上げたい場合は、「tl=zh-TW」を「tl=en」に変更します。また、「q=」を「q=hello」のように入力する必要があります。

また、この API はキャプチャによってブロックされます。これを回避するには、この回答Google Translate TTS API がブロックされている を参照してください。

また、

mPlayer.play();

ボタンをクリックするか、電話からそれを聞くために何か。

于 2015-08-17T15:14:26.027 に答える