美文网首页android 小牛技术交流
文字转语音(TTS)使用踩的坑(二)

文字转语音(TTS)使用踩的坑(二)

作者: Mingho96 | 来源:发表于2019-08-16 14:38 被阅读0次

    起因

    在确保能够播放指定文字后,我又想让它重复播放,重复次数以及间隔时间由我自己定

    经过

    为达到以上目的,我首先想到的是先监听它播放状态:即播放开始,播放结束,然后定义变量,每次播放完成后根据变量的值决定是否继续播放;每次播放的时候变量自增。
    查阅TextToSpeech源码后,了解到通过setOnUtteranceProgressListener()设置它的监听事件:

            tts.setOnUtteranceProgressListener(new UtteranceProgressListener() {
                @Override
                public void onStart(String s) {
                    Log.i("UPListener------>","onStart()");
                }
    
                @Override
                public void onDone(String s) {
                    Log.i("UPListener------>","onDone()");
    
                }
    
                @Override
                public void onError(String s) {
    
                }
            });
    

    结果

    但是发现onStart()和onDone()都没有被调用,怎么办呢,继续在网上查呀!

    解决方法

    将原来的

    tts.speak(content, TextToSpeech.QUEUE_ADD, null);
    

    改成

    tts.speak(content, TextToSpeech.QUEUE_ADD, null,"myUtterance");
    

    没错,多加了一个参数:utteranceId,参数值在没有特殊要求下,随便给就行

    提示:本文章跟文字转语音(TTS)使用踩的坑(一)是相关联的,如果没阅读过上一篇文章的,建议两篇文章联合阅读,因为这篇文章是建立在上一篇文章基础之上的

    相关文章

      网友评论

        本文标题:文字转语音(TTS)使用踩的坑(二)

        本文链接:https://www.haomeiwen.com/subject/ltifsctx.html