首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TTS在工作了几分钟后停下来说话

TTS在工作了几分钟后停下来说话
EN

Stack Overflow用户
提问于 2018-09-24 17:20:58
回答 1查看 134关注 0票数 0

我的应用程序使用TTS。我试过的所有设备都没问题。只有魅族6 Pro Plus在几分钟后,TTS才会停止工作。我不明白为什么。如果我在代码中的某个地方再次设置TTS (相同的代码在onCreate中),它就会恢复工作:

代码语言:javascript
复制
myTTS = new TextToSpeech(this, this);

对于init

代码语言:javascript
复制
 public void onInit(int initStatus) {
                //check for successful instantiation
                if (initStatus == TextToSpeech.SUCCESS) myTTS.setLanguage(Locale.getDefault());
                else if (initStatus == TextToSpeech.ERROR) Toast.makeText(this, getString(R.string.errorspeech), Toast.LENGTH_LONG).show();
        }

对于发言来说

代码语言:javascript
复制
public static void speakWords(String speech) {
myTTS.speak(speech, TextToSpeech.QUEUE_FLUSH, null);
}

我在日志中看到这样的消息:说话失败:没有绑定到TTS引擎有人知道是什么导致了这种奇怪的行为吗?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-09-24 20:47:10

您只能在调用onInit()之后调用speak(),尝试如下所示:

代码语言:javascript
复制
   public void onInit(int initStatus) {
        //check for successful instantiation
        if (initStatus == TextToSpeech.SUCCESS){
             myTTS.setLanguage(Locale.getDefault());
             myTTS.speak(speech, TextToSpeech.QUEUE_FLUSH, null);
        } 
        else if (initStatus == TextToSpeech.ERROR) Toast.makeText(this, getString(R.string.errorspeech), Toast.LENGTH_LONG).show();
     }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52476146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档