我有一個奇怪的問題與TTS引擎,我不知道爲什麼/我的錯誤在哪裏。搜索解決方案的小時數,但沒有任何可提及的結果。TTS - CHECK_VOICE_DATA_FAIL - 檢查引擎可用
當我使用這API Demo code一切工作正常,我可以聽到所有已安裝的語言的聲音。
但是,當我通過this method檢查時,我將CHECK_VOICE_DATA_FAIL作爲自定義TTS引擎(我需要所有必要語言,標準谷歌是不夠的)的返回碼。
我在這裏錯過了什麼?我如何檢查TTS引擎的可用性? 我知道這不一定是一個代碼問題,但是,對於其他程序,這似乎是工作。
我從SVox Website安裝了一些其他應用程序,這些似乎適用於我的所有設備,而下面的代碼失敗。
作爲示例,TalkToMeClassic正在檢查引擎的可用性並且它正在工作。
這裏有什麼不同嗎?
這裏是我的excact代碼(這是文章的複印件):
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent checkIntent = new Intent();
checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
startActivityForResult(checkIntent, 0x99);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 0x99) {
if (resultCode == TextToSpeech.Engine.CHECK_VOICE_DATA_PASS) {
// success, create the TTS instance
mTts = new TextToSpeech(this, this);
} else {
Log.e("TTS","Missing Data:" + resultCode);
// missing data, install it
Intent installIntent = new Intent();
installIntent.setAction(
TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);
startActivity(installIntent);
}
}
}
您開發的這些引擎是?此代碼僅檢查默認引擎,如果未執行該檢查,則可能會得到奇怪的結果。如果忽略此檢查的結果(即,您是否獲得語音音頻),它會起作用嗎? –