[英]Android Google Text-to-Speech availability and update check
試圖在android中實現“文本到語音”功能,但該主題有一個令人困惑的主題,我希望有人可以為我解決。
所以根據這個
http://android-developers.blogspot.pt/2009/09/introduction-to-text-to-speech-in.html
所有android設備均隨附Google TTS引擎,但某些設備的存儲空間有限,可能缺少特定語言的資源。
然后討論一種意圖,該意圖只是檢查一種語言是否可用,這使我得到了這個答案
為什么ACTION_CHECK_TTS_DATA意圖“笨拙使用”?
此處的檢查不必通過意圖,而是簡單的if語句,只需通過調用isLanguageAvailable()來檢查語言是否可用
所以我的問題是:
Google文本語音轉換引擎位於Play商店中,並已發布更新。 我怎么知道用戶是否需要將其文本更新為語音引擎? 而且我怎么知道它是否因為三星設備默認安裝了三星語音而不是谷歌版本而被自動安裝了呢?
https://play.google.com/store/apps/details?id=com.google.android.tts&hl=zh_CN
然后要扔另一個扳手,我們有這篇文章說
Google最近在Play商店中更新了其“文字轉語音”應用,以刪除功能。 有了此更新,您將無法再在“文字轉語音”應用中下載高質量的語音
和
根據Google的說法,標准語音引擎“現在已經超過了我們以前版本中高質量語音的質量”。
那么我怎么知道他們是否安裝了Google Text to Speech,以及它是否已更新,因為它看起來像是在更新語音系統。
我不使用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();
在按鈕上單擊或從電話中聽到聲音。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.