2013-01-04 25 views
1

我是這個網站的新手,但已經有多年的開發人員(Delphi,PHP,Lazarus)。一年前我開始在Android(Java - Eclipse)中開發,最近遇到了一個棘手的小問題。Android上的文本到語音4.1.1平板電腦

我開發了一個使用文本到語音引擎的應用程序。它可以在我的HTC Sensation,我妻子的HTC Desire X以及我已經在Eclipse/AVD Manager中測試過的兩款平板模擬器上正常工作。

我最近安裝在我的父親在法律聯想IdeaPad(Android 4.1.1),它失敗了。如果找不到安裝的TTS引擎和自動安裝程序,我使用標準(ish)檢查。在IdeaPad上,它無法找到安裝(我檢查過,它在那裏)英語TTS,而是啓動一個安裝程序,可以選擇安裝法語,德語,西班牙語或意大利語TTS引擎。這會向我暗示,它在某種程度上看到了英文版本,但沒有使用它。

任何幫助將不勝感激。我已經發布了以下代碼的相關部分。

親切的問候 加里

private TextToSpeech mTts; 
private static final int MY_DATA_CHECK_CODE = 1234; 

更多的我的應用程序代碼在這裏

Intent checkIntent = new Intent(); 
checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA); 
startActivityForResult(checkIntent, MY_DATA_CHECK_CODE); 

更多的在這裏我的應用程序代碼

public void onActivityResult(int requestCode, int resultCode, Intent data) 
{ 
    if (requestCode == MY_DATA_CHECK_CODE) 
    { 
     if (resultCode == TextToSpeech.Engine.CHECK_VOICE_DATA_PASS) 
     { 
     mTts = new TextToSpeech(this, null, Str); 
     } 
     else 
     { 
      Intent installIntent = new Intent(); 
      installIntent.setAction(
        TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA); 
      startActivity(installIntent); 
     } 
    } 
} 

回答

2

似乎與TTS資源的錯誤檢查Android 4.1。這被報告爲issue 36430

我的經驗是,從Android 4.0升級到4.1後,TTS停止在三星S3上工作。上面引用的報告給出瞭解決方法的提示,但我還沒有檢查解決方法。

+0

輝煌,感謝那些傢伙。這讓我難倒了2天!那麼我認爲他們將它固定在4.2中,這就是爲什麼它在我的模擬器上正常工作的原因?我會嘗試isLanguageAvailable,看看我能做什麼。再次感謝。 – Gary

+0

根據問題跟蹤器,它尚未修復。 – Stefan

+0

感謝Stefan,我非常喜歡Android作爲操作系統(Linux Geek)併爲之開發,但是他們修復和更新的週期時間很慢,非常糟糕! – Gary