2015-08-17 38 views
0

試圖在android中實現文本到語音轉換,但這個主題有一個令人困惑的話題,我希望有人能夠爲我清楚。安卓谷歌文本到語音的可用性和更新檢查

所以根據這個

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

所有的Android設備船與谷歌TTS引擎,但有些設備 具有有限的存儲和可能缺乏語言特定的資源。

然後它談論它只是檢查的意圖,如果語言可用它把我帶到這個答案

Why is the ACTION_CHECK_TTS_DATA Intent "awkward to use"?

凡檢查不必須是通過一個意圖,但一個簡單的if語句只是檢查如果語言可致電isLanguageAvailable()

所以我的問題是:

Google文本到語音引擎位於Play商店中,並已發佈更新。我如何知道用戶是否需要將他們的文本更新爲語音引擎?我怎麼知道,如果它的acrtally安裝,因爲三星設備默認三星聲音,而不是谷歌版本。

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

然後拋出另一個扳手我們對這篇文章有它說

谷歌最近更新了文本到語音應用在Play商店中 帶走功能。更新後,您不能再下載 高品質聲音的文本到語音應用

而且

據谷歌稱,該標準的語音引擎「現在超過[西]的 質量來自我們以前版本的高品質聲音。「

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

因此,如何將我知道他們是否有谷歌文本安裝語音和其是否更新,因爲它看起來像更新將提供增強的語音系統

+0

爲什麼不使用android – Sheychan

+0

@Sheychan給出的默認TTS這個和Google提供的這個應用程序有什麼不同? –

+0

嗯,我以爲你應該試圖實現默認,所以你將不需要在遊戲商店挖掘引擎..因爲它已經是一個設備範圍 – Sheychan

回答

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()); 
    } 

你將不得不改變網址,以滿足您的需求。例如,如果您希望英文文本轉換爲語音,請將'tl = zh-TW'更改爲'tl = en'。你還必須填寫'q ='的東西,像'q = hello'。

此外,此API被驗證碼阻止。爲了解決它,看到這個答案Google Translate TTS API blocked

點擊一個按鈕或從電話聽到什麼事情也做了

mPlayer.play(); 

相關問題