Implementação de reprodução de texto para fala no Android

1. A classe TextToSpeech vem com Android, mas alguns dispositivos precisam suportar TTS e precisam adicionar uma biblioteca de voz. Eu uso o iFlytek Voice (offline). Baixe e instale o APK do iFlytek Voice você mesmo e, em seguida, vá para as configurações do sistema para definir a função TTS para usar esta opção por padrão. Se você tiver sua própria biblioteca TTS, poderá omitir esta etapa.

2. Defina o objeto TTS

private TextToSpeech mTextToSpeech=null;

3. Ligue, cada chamada precisa ser inicializada

 try{
            final String strSpeekNow = strSpeek;
            mTextToSpeech=new TextToSpeech(this, new TextToSpeech.OnInitListener() {

                @Override
                public void onInit(int status) {
                    if (status==TextToSpeech.SUCCESS) {
                        //设置朗读语言
                        int supported=mTextToSpeech.setLanguage(Locale.CHINESE);
                        if ((supported!=TextToSpeech.LANG_AVAILABLE)&&(supported!=TextToSpeech.LANG_COUNTRY_AVAILABLE)) {
                            CardManager.toast(VerificationResultActivity.this, "不支持当前语言!");
                        }
                    }
                    //设置音调,值越大声音越尖(女生),值越小则变成男声,1.0是常规
                    mTextToSpeech.setPitch(1.0f);
                    //设置语速
                    mTextToSpeech.setSpeechRate(1.3f);
                    mTextToSpeech.speak(strSpeekNow, TextToSpeech.QUEUE_FLUSH, null, null);
                }
            });
        } catch (Exception e) {//语音播报出错
            Log.e("tts",e.toString());
           
        }

4. Feche o TTS no onDestroy

        if (mTextToSpeech!=null) {
            mTextToSpeech.shutdown();//关闭TTS
        }

Acho que você gosta

Origin blog.csdn.net/lsh670660992/article/details/132735167
Recomendado
Clasificación