Android TTS 使用教程

Android tts 是 text to speak 的简称,使用的时候可以讲text文本直接转换为语音播放出来。使用方法如下:


1、初始化。代码如下:

    //包含语音包
    import android.speech.tts.TextToSpeech; 
    import android.speech.tts.TextToSpeech.OnInitListener;
    TextToSpeech tts;
    //初始化
    tts = new TextToSpeech(this,new OnInitListener()
    {
        @Override
        public void onInit(int status) {
        //如果装载TTS引擎成功
        if(status == TextToSpeech.SUCCESS)
        {
            //设置使用美式英语朗读(虽然设置里有中文选项Locale.Chinese,但并不支持中文)
            int result = tts.setLanguage(Locale.US);
            //如果不支持设置的语言
            if(result != TextToSpeech.LANG_COUNTRY_AVAILABLE 
                    && result != TextToSpeech.LANG_AVAILABLE)
            {
                Toast.makeText(CodeView.this, "TTS暂时不支持这种语言朗读", 50000).show();
            }
        }
    }
    });

初始化完毕之后,直接调用speak函数即可播放语音,如下:


tts.speak("班车即将到达 "+ str, TextToSpeech.QUEUE_ADD, null);



  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android TTSAndroid系统内置的文本转语音引擎,可以将文本转换为语音输出,常用于语音播报、语音导航、语音输入等场景。 以下是使用Android TTS的基本步骤: 1. 首先在AndroidManifest.xml文件中添加权限: ```xml <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.DISABLE_KEYGUARD" /> ``` 2. 在Activity中初始化TTS引擎,并设置回调接口: ```java private TextToSpeech mTts; // 初始化TTS引擎 mTts = new TextToSpeech(this, new TextToSpeech.OnInitListener() { @Override public void onInit(int status) { if (status == TextToSpeech.SUCCESS) { // 设置语言 int result = mTts.setLanguage(Locale.CHINESE); if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) { Log.e(TAG, "onInit: 语言不支持"); } } else { Log.e(TAG, "onInit: 初始化失败"); } } }); // 设置回调接口 mTts.setOnUtteranceProgressListener(new UtteranceProgressListener() { @Override public void onStart(String utteranceId) { // TTS开始播报 } @Override public void onDone(String utteranceId) { // TTS播报完成 } @Override public void onError(String utteranceId) { // TTS播报出错 } }); ``` 3. 调用TTS引擎进行文本转语音: ```java String text = "你好,我是Android TTS"; // 设置播报参数 HashMap<String, String> params = new HashMap<>(); params.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, "utteranceId"); // 调用TTS引擎进行文本转语音 mTts.speak(text, TextToSpeech.QUEUE_FLUSH, params); ``` 其中,参数`utteranceId`是播报任务的标识符,用于在回调接口中区分不同的播报任务。 4. 在Activity销毁时释放TTS资源: ```java @Override protected void onDestroy() { super.onDestroy(); if (mTts != null) { mTts.stop(); mTts.shutdown(); } } ``` 以上就是使用Android TTS的基本步骤,需要注意的是,不同版本的Android系统可能支持的语音种类不同,需要根据实际需求进行选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值