TTS文字播报

2023-05-09  本文已影响0人  旅途开发者

复制下面代码直接放到activity里面,XXX代表当前activity的名称。如果在那个要播报语音,只需要在哪里调用play()就行,调用之前要给SpackStr赋值需要播报的内容

    private TextToSpeech tts;
    private String SpackStr;
    private void play() {
        tts = new TextToSpeech(this,new XXXX.listener());
    }
    private class listener implements TextToSpeech.OnInitListener {
        @Override
        public void onInit(int status) {
            if (status == TextToSpeech.SUCCESS) {
                //设置播放语言
                int result = tts.setLanguage(Locale.CHINESE);
                tts.setPitch(2.0f);
                if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) {

                } else if (result == TextToSpeech.LANG_AVAILABLE) {
                    tts.speak(SpackStr, TextToSpeech.QUEUE_ADD, null);
                }

            } else {
                Log.e("TAG", "初始化失败");
            }

        }

        public void stopTTS() {
            if (tts != null) {
                tts.shutdown();
                tts.stop();
                tts = null;
            }
        }
    }
上一篇 下一篇

猜你喜欢

热点阅读