美文网首页
文本语音播报

文本语音播报

作者: Thor_果冻 | 来源:发表于2018-12-29 15:58 被阅读0次

不用讯飞语音的原因就是离线语音有点贵。
如果感觉下面方法不够优雅,并且就播放几个固定的语音那就可以使用系统播放音频文件的方法。

如果系统中只有一个语音引擎pico TTs 那这样表示不支持中文的,可以下载一个讯飞语记安装一下更改系统TTS输出引擎就可以使用了

/**
 * 类描述:文本语音播报<br/>
 * 创建人:吴冬冬<br/>
 * 创建时间:2018/5/10 09:39 <br/>
 */
public class SpeechUtils {
    private static SpeechUtils singleton;

    private TextToSpeech textToSpeech; // TTS对象

    public static SpeechUtils getInstance() {
        if (singleton == null) {
            synchronized (SpeechUtils.class) {
                if (singleton == null) {
                    singleton = new SpeechUtils();
                }
            }
        }
        return singleton;
    }

    public SpeechUtils() {
        textToSpeech = new TextToSpeech(MyApplication.getContext(), new TextToSpeech.OnInitListener() {
            @Override
            public void onInit(int i) {
                if (i == TextToSpeech.SUCCESS) {
                    int result = textToSpeech.setLanguage(Locale.CHINESE);
                    if (result != TextToSpeech.LANG_AVAILABLE && result != TextToSpeech.LANG_COUNTRY_AVAILABLE) {
                        CommonUtil.debug("123===", "不支持该语言");
                    }
                    textToSpeech.setPitch(1.0f);// 设置音调,值越大声音越尖(女生),值越小则变成男声,1.0是常规
                    textToSpeech.setSpeechRate(1.0f);
                }
            }
        });
    }

    public void speakText(String text) {
        if (textToSpeech != null) {
            /*
                TextToSpeech.QUEUE_FLUSH:该模式下在有新任务时候会清除当前语音任务,执行新的语音任务
                TextToSpeech.QUEUE_ADD:该模式下会把新的语音任务放到语音任务之后,等前面的语音任务执行完了才会执行新的语音任务
             */
            textToSpeech.speak(text, TextToSpeech.QUEUE_FLUSH, null);
        }

    }


    public void shutDown(){
        if (textToSpeech != null) {
            textToSpeech.stop();
            textToSpeech.shutdown();
            textToSpeech = null;
        }
    }
}

相关文章

  • 文本语音播报

    不用讯飞语音的原因就是离线语音有点贵。如果感觉下面方法不够优雅,并且就播放几个固定的语音那就可以使用系统播放音频文...

  • Xamarin Essentials教程语音播报TextToSp

    Xamarin Essentials教程语音播报TextToSpeech 语音播报是一种将文本信息转化为音频信息的...

  • TTS

    · TTS · Text To Speech · 文本转语音 · 语音播报类 · 生成播放的内容 · 实现播放 ·...

  • iOS 读取txt文本 、语音播报文本

    获取项目中对应txt文件的内容,并且将获得到的文本转成语音播报

  • iOS自带文本转语音播报

    本文主要简单介绍下IOS自带的语音播报功能,有需要的可以参考下 一,使用iOS自带TTS需要注意的几点: 1.iO...

  • iOS-系统语音播报.txt文本

    本篇记录一下系统播放文本的功能。主要以代码+注释为展示方式。 ⚠️:下面才是系统播放文本的重点代码 我们可以根据A...

  • iOS 语音播报解决方案(实现支付宝语音收款功能)

    iOS 语音播报解决方案(实现支付宝语音收款功能) iOS 语音播报解决方案(实现支付宝语音收款功能)

  • Python爬虫-爬取天气信息

    爬取天气网站获取天气信息,并生成语音播报 这是打印 这是语音播报~

  • 无标题文章

    百度地图语音播报TTS 授权失败语音播报 SDK内置百度TTS语音播报功能,需要对应用进行授权验证才能够使用,因此...

  • 语音播报

    项目中用到了语音播报推送内容,发现iOS7以后系统支持语音播报.记下用以备用

网友评论

      本文标题:文本语音播报

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