[英]Android TextToSpeech in Chrome ARC
我正在嘗試使用ARCWelder將我的Android應用程序移植到Chrome。 TextToSpeech組件似乎不起作用。 在一項活動中,我有一個不確定的進度圈,一直等到初始化TTS引擎。 在Chrome上,它會永久旋轉或返回NullPointerException。 TTS在Chrome中不可用嗎? 在Chromebox上運行ChromeOS。
UtteranceProgressListener ttsListener = new UtteranceProgressListener() {
@Override
public void onStart(String s) {
Logg.d("speech started: " + s);
if (loadingDialog.isShowing()) {
loadingDialog.dismiss();
}
}
@Override
public void onDone(String s) {
Logg.d("speech done: " + s);
if (s.equals("1")) {
nextWord();
} else if (s.equals("2")) {
CheckLeave();
}
}
@Override
public void onError(String s) {
Logg.e("Text to Speech error speaking: " + s);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
showProgressDialog();
}
@Override
protected void onResume() {
if (tts==null) {
Logg.d("re-initializing TTS");
tts=new TextToSpeech(getApplicationContext(),
new TextToSpeech.OnInitListener() {
@Override
public void onInit(int status) {
if(status != TextToSpeech.ERROR){
tts.setSpeechRate(.5f + .25f * (Integer)KVDB.GetValue("speechRate",2));
tts.setLanguage(Locale.US);
if (pauseTime != 0) {
//Paused. Say nothing.
} else if (currentWord == null) {
startTime = new ExcelDate();
nextWord();
} else if (currentWord.length() == 0) {
nextWord();
} else {
reSpeak();
}
}
}
});
tts.setOnUtteranceProgressListener(ttsListener);
}
super.onResume();
}
private void showProgressDialog() {
loadingDialog = new ProgressDialog(this);
loadingDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
loadingDialog.setTitle(getString(R.string.test_loading_msg));
loadingDialog.show();
}
如您所見,它看起來好像沒有任何默認的TTS服務提供程序作為ARC軟件包的一部分。 基本的Android操作系統根本沒有提供任何一個。
請隨時提交錯誤 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.