zoukankan      html  css  js  c++  java
  • 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,回收资源。

  • 相关阅读:
    凡是可能出错的事必定会出错
    php session 前后台同域名下
    mysql常用; group by 高级
    Thread 学习记录 <1> -- volatile和synchronized
    VBA学习
    EXPLAINING WHAT ACTION AND FUNC ARE
    Unslider.js Tiny Sample
    jQuery操作DOM元素
    在.net中使用GAC
    Sql Server 分区演练 【转】
  • 原文地址:https://www.cnblogs.com/ahao214/p/4282585.html
Copyright © 2011-2022 走看看