• Android中的自动朗读(TTS)


    Android的自动朗读支持主要是通过TextToSpeech来完成,该类提供了如下一个构造器
    TextToSpeech(Context context,TextToSpeech.OnInitListener listener)
    当创建TextToSpeech对象时,必须先提供一个OnInitListener监听器——该监听器负责监听TextToSpeech的初始化结果。

    TextToSpeech最常用的两个方法如下:
    1、speak(String text,int queueMode,HashMap<String,String> params)
    2、synthesizeToFile(String text,HashMap<String,String> params,String filename)
    上面两个方法都用于把text文字内容转换为音频,区别只是speak方法是播放转换的音频,而synthesizeToFile是把转换得到的音频保存成声音文件。
    上面两个方法中的params都用于指定声音转换时的参数,speak()方法中的queueMode参数指定TTS的发音队列模式,该参数支持如下两个常量。
    1、TextToSpeech.QUEUE_FLUSH:如果指定该模式,当TTS调用speak方法时,它会中断当前实例正在运行的任务(也可以理解为清除当前语音任务,转而执行新的语音任务)
    2、TextToSpeech.QUEUE_ADD:如果指定为该模式,当TTS调用speak方法时,会把新的发音任务添加到当前发音任务列队之后——也就是等任务队列中的发音任务执行完成后在来执行speak()方法指定的发音任务。

    当程序用完了TextToSpeech对象之后,可以在Activity的OnDestroy()方法中调用它的shutdown()来关闭TextToSpeech,释放它所占用的资源。

    使用TextToSpeech的步骤如下:
    1、创建TextToSpeech对象,创建时传入OnInitListener监听器监听创建是否成功。
    2、设置TextToSpeech所使用语言、国家选项,通过返回值判断TTS是否支持该语言、国家选项。
    3、调用speak()或synthesizeToFile方法。
    4、关闭TTS,回收资源。

  • 相关阅读:
    第9章 垄断市场中的企业决策
    第8章 完全竞争市场中的企业决策
    第7章 生产产出的决策分析
    第6章 成本分析
    第5章 生产要素投入的决策分析
    C++_函数指针的内容和应用
    大数据的框架-流程梳理
    数字图像处理_基本概念
    C++_项目开发与Cmake构建工具
    终端--通信和传输协议
  • 原文地址:https://www.cnblogs.com/ahao214/p/4282585.html
Copyright © 2020-2023  润新知