Most visited

Recently visited

Added in API level 4

TextToSpeech

public class TextToSpeech
extends Object

java.lang.Object
   ↳ android.speech.tts.TextToSpeech


从文本合成语音以便立即播放或创建声音文件。

TextToSpeech实例只能在完成初始化后用于合成文本。 实现TextToSpeech.OnInitListener以通知完成初始化。
当您完成使用TextToSpeech实例时,请调用shutdown()方法来释放TextToSpeech引擎使用的本机资源。

Summary

Nested classes

class TextToSpeech.Engine

用于控制文本到语音的常量和参数名称。

class TextToSpeech.EngineInfo

有关已安装的文本到语音引擎的信息。

interface TextToSpeech.OnInitListener

要调用的回调的接口定义,指示TextToSpeech引擎初始化的完成。

interface TextToSpeech.OnUtteranceCompletedListener

此接口在API级别18中已弃用。请改为使用UtteranceProgressListener

Constants

String ACTION_TTS_QUEUE_PROCESSING_COMPLETED

广播动作:TextToSpeech合成器已完成语音队列中所有文本的处理。

int ERROR

表示通用操作失败。

int ERROR_INVALID_REQUEST

表示由无效请求导致的失败。

int ERROR_NETWORK

表示由网络连接问题引起的故障。

int ERROR_NETWORK_TIMEOUT

表示由网络超时造成的故障。

int ERROR_NOT_INSTALLED_YET

表示由未完成的语音数据下载导致的故障。

int ERROR_OUTPUT

表示与输出有关的故障(音频设备或文件)。

int ERROR_SERVICE

表示TTS服务失败。

int ERROR_SYNTHESIS

表示TTS引擎合成给定输入的失败。

int LANG_AVAILABLE

表示该语言可以通过语言环境使用该语言,但不能使用该国家和变体。

int LANG_COUNTRY_AVAILABLE

表示该语言可用于由语言环境指定的语言和国家,但不包含该变体。

int LANG_COUNTRY_VAR_AVAILABLE

表示语言完全按照语言环境的指定可用。

int LANG_MISSING_DATA

表示语言数据丢失。

int LANG_NOT_SUPPORTED

表示不支持该语言。

int QUEUE_ADD

队列模式,其中新条目添加在播放队列的末尾。

int QUEUE_FLUSH

队列模式,播放队列中的所有条目(要播放的媒体和要合成的文本)将被删除,并由新条目取代。

int STOPPED

表示客户请求的停止。

int SUCCESS

表示成功的操作。

Public constructors

TextToSpeech(Context context, TextToSpeech.OnInitListener listener)

TextToSpeech类的构造函数,使用默认的TTS引擎。

TextToSpeech(Context context, TextToSpeech.OnInitListener listener, String engine)

TextToSpeech类的构造函数,使用给定的TTS引擎。

Public methods

int addEarcon(String earcon, String packagename, int resourceId)

在包中的文本字符串和声音资源之间添加映射。

int addEarcon(String earcon, String filename)

此方法在API级别21中已弃用。从API级别21开始,替换为addEarcon(String, File)

int addEarcon(String earcon, File file)

添加一个文本字符串和一个声音文件之间的映射。

int addSpeech(CharSequence text, File file)

添加CharSequence(可能跨越TtsSpans和声音文件)之间的映射。

int addSpeech(String text, String packagename, int resourceId)

在包中的文本字符串和声音资源之间添加映射。

int addSpeech(CharSequence text, String packagename, int resourceId)

添加文本中的CharSequence(可能跨越TtsSpans)文本与声音资源之间的映射。

int addSpeech(String text, String filename)

添加一个文本字符串和一个声音文件之间的映射。

boolean areDefaultsEnforced()

检查用户的设置是否应覆盖调用应用程序所请求的设置。

Set<Locale> getAvailableLanguages()

向引擎查询一组可用语言。

String getDefaultEngine()

获取默认语音合成引擎的包名称。

Locale getDefaultLanguage()

此方法在API级别21中已被弃用。从API级别21开始,使用getDefaultVoice().getLocale()getDefaultVoice()

Voice getDefaultVoice()

返回语音实例,该实例是默认的文本语音转换语言的默认语音。

List<TextToSpeech.EngineInfo> getEngines()

获取所有安装的TTS引擎的列表。

Set<String> getFeatures(Locale locale)

此方法在API级别21中已弃用。从API级别21开始,请使用声音。 为了查询语音的特征,请致电getVoices()检索可用语音列表,并getFeatures()以检索该特征集。

Locale getLanguage()

此方法在API级别21中已弃用。从API级别21开始,请使用getVoice().getLocale()getVoice() )。

static int getMaxSpeechInputLength()

传递给speak和synthesizeToFile的输入字符串的长度限制。

Voice getVoice()

返回描述当前用于发送到TextToSpeech引擎的综合请求的语音的语音实例。

Set<Voice> getVoices()

向引擎查询可用语音集。

int isLanguageAvailable(Locale loc)

检查Locale代表的指定语言是否可用并受支持。

boolean isSpeaking()

检查TTS引擎是否正忙于说话。

int playEarcon(String earcon, int queueMode, HashMap<StringString> params)

此方法在API级别21中已弃用。从API级别21开始,替换为playEarcon(String, int, Bundle, String)

int playEarcon(String earcon, int queueMode, Bundle params, String utteranceId)

使用指定的排队模式和参数播放耳机。

int playSilence(long durationInMs, int queueMode, HashMap<StringString> params)

此方法在API级别21中已弃用。从API级别21开始,替换为playSilentUtterance(long, int, String)

int playSilentUtterance(long durationInMs, int queueMode, String utteranceId)

使用指定的队列模式在指定的时间内播放静音。

int setAudioAttributes(AudioAttributes audioAttributes)

设置讲话文本或播放文件时要使用的音频属性。

int setEngineByPackageName(String enginePackageName)

此方法在API级别14中已被弃用。这不会在TTS引擎初始化时通知呼叫者。 TextToSpeech(Context, OnInitListener, String)可以使用适当的引擎名称。 另外,不能保证指定的引擎将被加载。 如果未安装或禁用,则将应用用户/系统范围的默认值。

int setLanguage(Locale loc)

设置文本到语音的语言。

int setOnUtteranceCompletedListener(TextToSpeech.OnUtteranceCompletedListener listener)

此方法在API级别15中已弃用。请改为使用setOnUtteranceProgressListener(UtteranceProgressListener)

int setOnUtteranceProgressListener(UtteranceProgressListener listener)

设置将被通知与给定话语的合成有关的各种事件的监听器。

int setPitch(float pitch)

设置TextToSpeech引擎的语音音高。

int setSpeechRate(float speechRate)

设置语音速率。

int setVoice(Voice voice)

设置文本到语音的语音。

void shutdown()

释放TextToSpeech引擎使用的资源。

int speak(CharSequence text, int queueMode, Bundle params, String utteranceId)

使用指定的排队策略和语音参数说出文本,文本可以跨越TtsSpans。

int speak(String text, int queueMode, HashMap<StringString> params)

此方法在API级别21中已弃用。从API级别21开始,替换为speak(CharSequence, int, Bundle, String)

int stop()

中断当前话语(无论是播放还是渲染到文件)并丢弃队列中的其他话语。

int synthesizeToFile(CharSequence text, Bundle params, File file, String utteranceId)

使用指定的参数将给定的文本合成到文件中。

int synthesizeToFile(String text, HashMap<StringString> params, String filename)

此方法在API级别21中已弃用。从API级别21开始,替换为synthesizeToFile(CharSequence, Bundle, File, String)

Inherited methods

From class java.lang.Object

Constants

ACTION_TTS_QUEUE_PROCESSING_COMPLETED

Added in API level 4
String ACTION_TTS_QUEUE_PROCESSING_COMPLETED

广播动作:TextToSpeech合成器已完成语音队列中所有文本的处理。 请注意,这会在引擎完成处理文本数据时通知呼叫者。 此时音频播放可能尚未完成(甚至未开始)。 如果您希望在发生这种情况时收到通知,请参阅TextToSpeech.OnUtteranceCompletedListener

常量值:“android.speech.tts.TTS_QUEUE_PROCESSING_COMPLETED”

ERROR

Added in API level 4
int ERROR

表示通用操作失败。

常量值:-1(0xffffffff)

ERROR_INVALID_REQUEST

Added in API level 21
int ERROR_INVALID_REQUEST

表示由无效请求导致的失败。

常量值:-8(0xfffffff8)

ERROR_NETWORK

Added in API level 21
int ERROR_NETWORK

表示由网络连接问题引起的故障。

常量值:-6(0xfffffffa)

ERROR_NETWORK_TIMEOUT

Added in API level 21
int ERROR_NETWORK_TIMEOUT

表示由网络超时造成的故障。

常量值:-7(0xfffffff9)

ERROR_NOT_INSTALLED_YET

Added in API level 21
int ERROR_NOT_INSTALLED_YET

表示由未完成的语音数据下载导致的故障。

也可以看看:

常量值:-9(0xfffffff7)

ERROR_OUTPUT

Added in API level 21
int ERROR_OUTPUT

表示与输出有关的故障(音频设备或文件)。

常量值:-5(0xfffffffb)

ERROR_SERVICE

Added in API level 21
int ERROR_SERVICE

表示TTS服务失败。

常量值:-4(0xfffffffc)

ERROR_SYNTHESIS

Added in API level 21
int ERROR_SYNTHESIS

表示TTS引擎合成给定输入的失败。

常量值:-3(0xfffffffd)

LANG_AVAILABLE

Added in API level 4
int LANG_AVAILABLE

表示该语言可以通过语言环境使用该语言,但不能使用该国家和变体。

常量值:0(0x00000000)

LANG_COUNTRY_AVAILABLE

Added in API level 4
int LANG_COUNTRY_AVAILABLE

表示该语言可用于由语言环境指定的语言和国家,但不包含该变体。

常数值:1(0x00000001)

LANG_COUNTRY_VAR_AVAILABLE

Added in API level 4
int LANG_COUNTRY_VAR_AVAILABLE

表示语言完全按照语言环境的指定可用。

常量值:2(0x00000002)

LANG_MISSING_DATA

Added in API level 4
int LANG_MISSING_DATA

表示语言数据丢失。

常量值:-1(0xffffffff)

LANG_NOT_SUPPORTED

Added in API level 4
int LANG_NOT_SUPPORTED

表示不支持该语言。

常量值:-2(0xfffffffe)

QUEUE_ADD

Added in API level 4
int QUEUE_ADD

队列模式,其中新条目添加在播放队列的末尾。

常数值:1(0x00000001)

QUEUE_FLUSH

Added in API level 4
int QUEUE_FLUSH

队列模式,播放队列中的所有条目(要播放的媒体和要合成的文本)将被删除,并由新条目取代。 对于给定的调用应用程序,队列被刷新。 来自其他被调用者的队列中的条目不会被丢弃。

常量值:0(0x00000000)

STOPPED

Added in API level 21
int STOPPED

表示客户请求的停止。 它只用于API的服务端,客户端永远不会期望看到这个结果代码。

常量值:-2(0xfffffffe)

SUCCESS

Added in API level 4
int SUCCESS

表示成功的操作。

常量值:0(0x00000000)

Public constructors

TextToSpeech

Added in API level 4
TextToSpeech (Context context, 
                TextToSpeech.OnInitListener listener)

TextToSpeech类的构造函数,使用默认的TTS引擎。 如果它尚未运行,它还会初始化关联的TextToSpeech引擎。

Parameters
context Context: The context this instance is running in.
listener TextToSpeech.OnInitListener: The TextToSpeech.OnInitListener that will be called when the TextToSpeech engine has initialized. In a case of a failure the listener may be called immediately, before TextToSpeech instance is fully constructed.

TextToSpeech

Added in API level 14
TextToSpeech (Context context, 
                TextToSpeech.OnInitListener listener, 
                String engine)

TextToSpeech类的构造函数,使用给定的TTS引擎。 如果它尚未运行,它还会初始化关联的TextToSpeech引擎。

Parameters
context Context: The context this instance is running in.
listener TextToSpeech.OnInitListener: The TextToSpeech.OnInitListener that will be called when the TextToSpeech engine has initialized. In a case of a failure the listener may be called immediately, before TextToSpeech instance is fully constructed.
engine String: Package name of the TTS engine to use.

Public methods

addEarcon

Added in API level 4
int addEarcon (String earcon, 
                String packagename, 
                int resourceId)

在包中的文本字符串和声音资源之间添加映射。 使用它来添加自定义的耳标。

Parameters
earcon String: The name of the earcon. Example: "[tick]"
packagename String: the package name of the application that contains the resource. This can for instance be the package name of your own application. Example: "com.google.marvin.compass"
The package name can be found in the AndroidManifest.xml of the application containing the resource.

<manifest xmlns:android="..." package="com.google.marvin.compass">

resourceId int: Example: R.raw.tick_snd
Returns
int Code indicating success or failure. See ERROR and SUCCESS.

也可以看看:

addEarcon

Added in API level 4
int addEarcon (String earcon, 
                String filename)

此方法在API级别21中已弃用。
从API级别21开始,替换为addEarcon(String, File)

添加一个文本字符串和一个声音文件之间的映射。 使用它来添加自定义的耳标。

Parameters
earcon String: The name of the earcon. Example: "[tick]"
filename String: The full path to the sound file (for example: "/sdcard/mysounds/tick.wav")
Returns
int Code indicating success or failure. See ERROR and SUCCESS.

也可以看看:

addEarcon

Added in API level 21
int addEarcon (String earcon, 
                File file)

添加一个文本字符串和一个声音文件之间的映射。 使用它来添加自定义的耳标。

Parameters
earcon String: The name of the earcon. Example: "[tick]"
file File: File object pointing to the sound file.
Returns
int Code indicating success or failure. See ERROR and SUCCESS.

也可以看看:

addSpeech

Added in API level 21
int addSpeech (CharSequence text, 
                File file)

在一个CharSequence(可以跨越TtsSpans和一个声音文件)之间添加一个映射,使用它可以为一串文本添加自定义发音,在调用此方法后,后续调用 speak(String, int, HashMap)将播放指定的声音资源如果可用,或合成文本丢失。

Parameters
text CharSequence: The string of text. Example: "south_south_east"
file File: File object pointing to the sound file.
Returns
int Code indicating success or failure. See ERROR and SUCCESS.

addSpeech

Added in API level 4
int addSpeech (String text, 
                String packagename, 
                int resourceId)

在包中的文本字符串和声音资源之间添加映射。 对该方法的调用后,如果后续对speak(String, int, HashMap)调用将播放指定的声音资源(如果可用)或合成缺少的文本。

Parameters
text String: The string of text. Example: "south_south_east"
packagename String: Pass the packagename of the application that contains the resource. If the resource is in your own application (this is the most common case), then put the packagename of your application here.
Example: "com.google.marvin.compass"
The packagename can be found in the AndroidManifest.xml of your application.

<manifest xmlns:android="..." package="com.google.marvin.compass">

resourceId int: Example: R.raw.south_south_east
Returns
int Code indicating success or failure. See ERROR and SUCCESS.

addSpeech

Added in API level 21
int addSpeech (CharSequence text, 
                String packagename, 
                int resourceId)

添加文本中的CharSequence(可能跨越TtsSpans)文本与声音资源之间的映射。 在对此方法的调用之后,如果后续对speak(String, int, HashMap)调用speak(String, int, HashMap)则将播放指定的声音资源,或合成缺少的文本。

Parameters
text CharSequence: The string of text. Example: "south_south_east"
packagename String: Pass the packagename of the application that contains the resource. If the resource is in your own application (this is the most common case), then put the packagename of your application here.
Example: "com.google.marvin.compass"
The packagename can be found in the AndroidManifest.xml of your application.

<manifest xmlns:android="..." package="com.google.marvin.compass">

resourceId int: Example: R.raw.south_south_east
Returns
int Code indicating success or failure. See ERROR and SUCCESS.

addSpeech

Added in API level 4
int addSpeech (String text, 
                String filename)

添加一个文本字符串和一个声音文件之间的映射。 使用这个,可以为一串文本添加自定义发音。 对该方法的调用后,如果后续对speak(String, int, HashMap)调用speak(String, int, HashMap)则播放指定的声音资源,或合成缺少的文本。

Parameters
text String: The string of text. Example: "south_south_east"
filename String: The full path to the sound file (for example: "/sdcard/mysounds/hello.wav")
Returns
int Code indicating success or failure. See ERROR and SUCCESS.

areDefaultsEnforced

Added in API level 8
boolean areDefaultsEnforced ()

检查用户的设置是否应覆盖调用应用程序所请求的设置。 从冰淇淋三明治版本开始,用户设置永远不会强行覆盖应用程序的设置。

Returns
boolean

getAvailableLanguages

Added in API level 21
Set<Locale> getAvailableLanguages ()

向引擎查询一组可用语言。

Returns
Set<Locale>

getDefaultEngine

Added in API level 8
String getDefaultEngine ()

获取默认语音合成引擎的包名称。

Returns
String Package name of the TTS engine that the user has chosen as their default.

getDefaultLanguage

Added in API level 18
Locale getDefaultLanguage ()

此方法在API级别21中已弃用。
从API级别21开始,使用getDefaultVoice().getLocale()getDefaultVoice()

返回一个Locale实例,描述当前用作默认语音转换语言的语言。 此方法返回的语言环境对象不是有效的。 它与getLanguage()中的getLanguage() 有关更多信息,请参阅getLanguage()

Returns
Locale language, country (if any) and variant (if any) used by the client stored in a Locale instance, or null on error.

getDefaultVoice

Added in API level 21
Voice getDefaultVoice ()

返回语音实例,该实例是默认的文本语音转换语言的默认语音。

Returns
Voice The default voice instance for the default language, or null if not set or on error.

getEngines

Added in API level 14
List<TextToSpeech.EngineInfo> getEngines ()

获取所有安装的TTS引擎的列表。

Returns
List<TextToSpeech.EngineInfo> A list of engine info objects. The list can be empty, but never null.

getFeatures

Added in API level 15
Set<String> getFeatures (Locale locale)

此方法在API级别21中已弃用。
从API级别21开始,请使用声音。 为了查询语音的特征,请致电getVoices()检索可用语音列表,并getFeatures()以检索该特征集。

查询引擎是否支持给定语言环境的一组功能。 特征可以是框架定义的,例如KEY_FEATURE_NETWORK_SYNTHESIS或特定引擎。 引擎特定的键必须以其预期的引擎名称作为前缀。 这些键可以用作参数speak(String, int, java.util.HashMap)synthesizeToFile(String, java.util.HashMap, String) 特征值是字符串,它们的值必须符合其文档中描述的限制。

Parameters
locale Locale: The locale to query features for.
Returns
Set<String> Set instance. May return null on error.

getLanguage

Added in API level 4
Locale getLanguage ()

此方法在API级别21中已弃用。
从API级别21开始,请使用getVoice().getLocale()getVoice() )。

返回描述当前用于发送到TextToSpeech引擎的综合请求的语言的Locale实例。 在Android 4.2以及之前(API <= 17),此函数返回TTS引擎当前正在使用的语言。 这是该客户或任何其他客户通过调用相同引擎的setLanguage(Locale)设置的最后一种语言。 在4.2之后的Android版本中,此函数返回当前用于从此客户端发送的综合请求的语言。 这是此实例上setLanguage(Locale)调用所设置的最后一种语言。 如果设置了语音(由setVoice(Voice) ),getLanguage将返回当前设置语音的语言。 请注意,此方法返回的Locale对象不是有效的Locale对象。 它的语言字段包含一个三字母ISO 639-2 / T代码(适当的区域设置使用两个字母的ISO 639-1代码),并且国家/地区字段包含三个字母的ISO 3166国家/地区代码区域设置将使用两个字母的ISO 3166-1代码)。

Returns
Locale language, country (if any) and variant (if any) used by the client stored in a Locale instance, or null on error.

getMaxSpeechInputLength

Added in API level 18
int getMaxSpeechInputLength ()

传递给speak和synthesizeToFile的输入字符串的长度限制。

Returns
int

也可以看看:

getVoice

Added in API level 21
Voice getVoice ()

返回描述当前用于发送到TextToSpeech引擎的综合请求的语音的语音实例。

Returns
Voice Voice instance used by the client, or null if not set or on error.

也可以看看:

getVoices

Added in API level 21
Set<Voice> getVoices ()

向引擎查询可用语音集。 每个TTS引擎都可以为每个语言环境显示多个语音,每个语音都有一组不同的功能。

Returns
Set<Voice>

也可以看看:

isLanguageAvailable

Added in API level 4
int isLanguageAvailable (Locale loc)

检查Locale代表的指定语言是否可用并受支持。

Parameters
loc Locale: The Locale describing the language to be used.
Returns
int Code indicating the support status for the locale. See LANG_AVAILABLE, LANG_COUNTRY_AVAILABLE, LANG_COUNTRY_VAR_AVAILABLE, LANG_MISSING_DATA and LANG_NOT_SUPPORTED.

isSpeaking

Added in API level 4
boolean isSpeaking ()

检查TTS引擎是否正忙于说话。 请注意,一旦语音项目的音频数据已发送到音频混音器或写入文件,就认为语音项目已完成。 在这点和音频硬件完成播放之间可能存在有限的延迟。

Returns
boolean true if the TTS engine is speaking.

playEarcon

Added in API level 4
int playEarcon (String earcon, 
                int queueMode, 
                HashMap<StringString> params)

此方法在API级别21中已弃用。
从API级别21开始,替换为playEarcon(String, int, Bundle, String)

使用指定的排队模式和参数播放耳机。 earcon必须已经添加了addEarcon(String, String)addEarcon(String, String, int) 这种方法是异步的,即该方法只是将请求添加到TTS请求队列中,然后返回。 此方法返回时,综合可能尚未完成(甚至未开始!)。 为了在合成过程中可靠地检测错误,我们建议设置发言进度监听器(参见setOnUtteranceProgressListener(UtteranceProgressListener) )并使用参数KEY_PARAM_UTTERANCE_ID

Parameters
earcon String: The earcon that should be played
queueMode int: QUEUE_ADD or QUEUE_FLUSH.
params HashMap: Parameters for the request. Can be null. Supported parameter names: KEY_PARAM_STREAM, KEY_PARAM_UTTERANCE_ID. Engine specific parameters may be passed in but the parameter keys must be prefixed by the name of the engine they are intended for. For example the keys "com.svox.pico_foo" and "com.svox.pico:bar" will be passed to the engine named "com.svox.pico" if it is being used.
Returns
int ERROR or SUCCESS of queuing the playEarcon operation.

playEarcon

Added in API level 21
int playEarcon (String earcon, 
                int queueMode, 
                Bundle params, 
                String utteranceId)

使用指定的排队模式和参数播放耳机。 earcon必须已经添加了addEarcon(String, String)addEarcon(String, String, int) 这种方法是异步的,即该方法只是将请求添加到TTS请求队列中,然后返回。 此方法返回时,综合可能尚未完成(甚至未开始!)。 为了在合成过程中可靠地检测错误,我们建议设置发言进度监听器(请参阅setOnUtteranceProgressListener(UtteranceProgressListener) )并使用参数KEY_PARAM_UTTERANCE_ID

Parameters
earcon String: The earcon that should be played
queueMode int: QUEUE_ADD or QUEUE_FLUSH.
params Bundle: Parameters for the request. Can be null. Supported parameter names: KEY_PARAM_STREAM, Engine specific parameters may be passed in but the parameter keys must be prefixed by the name of the engine they are intended for. For example the keys "com.svox.pico_foo" and "com.svox.pico:bar" will be passed to the engine named "com.svox.pico" if it is being used.
utteranceId String
Returns
int ERROR or SUCCESS of queuing the playEarcon operation.

playSilence

Added in API level 4
int playSilence (long durationInMs, 
                int queueMode, 
                HashMap<StringString> params)

此方法在API级别21中已弃用。
从API级别21开始,替换为playSilentUtterance(long, int, String)

使用指定的队列模式在指定的时间内播放静音。 这种方法是异步的,即该方法只是将请求添加到TTS请求队列中,然后返回。 此方法返回时,综合可能尚未完成(甚至未开始!)。 为了在合成过程中可靠地检测错误,我们建议设置发言进度监听器(请参阅setOnUtteranceProgressListener(UtteranceProgressListener) )并使用参数KEY_PARAM_UTTERANCE_ID

Parameters
durationInMs long: The duration of the silence.
queueMode int: QUEUE_ADD or QUEUE_FLUSH.
params HashMap: Parameters for the request. Can be null. Supported parameter names: KEY_PARAM_UTTERANCE_ID. Engine specific parameters may be passed in but the parameter keys must be prefixed by the name of the engine they are intended for. For example the keys "com.svox.pico_foo" and "com.svox.pico:bar" will be passed to the engine named "com.svox.pico" if it is being used.
Returns
int ERROR or SUCCESS of queuing the playSilence operation.

playSilentUtterance

Added in API level 21
int playSilentUtterance (long durationInMs, 
                int queueMode, 
                String utteranceId)

使用指定的队列模式在指定的时间内播放静音。 这种方法是异步的,即该方法只是将请求添加到TTS请求队列中,然后返回。 此方法返回时,综合可能尚未完成(甚至未开始!)。 为了在合成过程中可靠地检测错误,我们建议设置发言进度监听器(请参阅setOnUtteranceProgressListener(UtteranceProgressListener) )并使用KEY_PARAM_UTTERANCE_ID参数。

Parameters
durationInMs long: The duration of the silence.
queueMode int: QUEUE_ADD or QUEUE_FLUSH.
utteranceId String: An unique identifier for this request.
Returns
int ERROR or SUCCESS of queuing the playSilentUtterance operation.

setAudioAttributes

Added in API level 21
int setAudioAttributes (AudioAttributes audioAttributes)

设置讲话文本或播放文件时要使用的音频属性。

Parameters
audioAttributes AudioAttributes: Valid AudioAttributes instance.
Returns
int ERROR or SUCCESS.

setEngineByPackageName

Added in API level 8
int setEngineByPackageName (String enginePackageName)

此方法在API级别14中已弃用。
当TTS引擎初始化时,这不会通知呼叫者。 TextToSpeech(Context, OnInitListener, String)可以使用适当的引擎名称。 另外,不能保证指定的引擎将被加载。 如果未安装或禁用,则将应用用户/系统范围的默认值。

设置要使用的TTS引擎。

Parameters
enginePackageName String: The package name for the synthesis engine (e.g. "com.svox.pico")
Returns
int ERROR or SUCCESS.

setLanguage

Added in API level 4
int setLanguage (Locale loc)

设置文本到语音的语言。 TTS引擎将尝试使用与Locale所代表的指定语言最接近的匹配,但不能保证将使用完全相同的Locale。 在选择用于下一个话语的语言之前,使用isLanguageAvailable(Locale)检查支持级别。 此方法将当前语音设置为给定语言环境的默认语音; 可以使用getVoice()来检索它。

Parameters
loc Locale: The locale describing the language to be used.
Returns
int Code indicating the support status for the locale. See LANG_AVAILABLE, LANG_COUNTRY_AVAILABLE, LANG_COUNTRY_VAR_AVAILABLE, LANG_MISSING_DATA and LANG_NOT_SUPPORTED.

setOnUtteranceCompletedListener

Added in API level 4
int setOnUtteranceCompletedListener (TextToSpeech.OnUtteranceCompletedListener listener)

此方法在API级别15中已被弃用。
改为使用setOnUtteranceProgressListener(UtteranceProgressListener)

设置在话语合成完成时将被通知的侦听器。

Parameters
listener TextToSpeech.OnUtteranceCompletedListener: The listener to use.
Returns
int ERROR or SUCCESS.

setOnUtteranceProgressListener

Added in API level 15
int setOnUtteranceProgressListener (UtteranceProgressListener listener)

设置将被通知与给定话语的合成有关的各种事件的监听器。 UtteranceProgressListenerKEY_PARAM_UTTERANCE_ID

Parameters
listener UtteranceProgressListener: the listener to use.
Returns
int ERROR or SUCCESS

setPitch

Added in API level 4
int setPitch (float pitch)

设置TextToSpeech引擎的语音音高。 这对任何预先录制的演讲没有影响。

Parameters
pitch float: Speech pitch. 1.0 is the normal pitch, lower values lower the tone of the synthesized voice, greater values increase it.
Returns
int ERROR or SUCCESS.

setSpeechRate

Added in API level 4
int setSpeechRate (float speechRate)

设置语音速率。 这对任何预先录制的演讲没有影响。

Parameters
speechRate float: Speech rate. 1.0 is the normal speech rate, lower values slow down the speech (0.5 is half the normal speech rate), greater values accelerate it (2.0 is twice the normal speech rate).
Returns
int ERROR or SUCCESS.

setVoice

Added in API level 21
int setVoice (Voice voice)

设置文本到语音的语音。

Parameters
voice Voice: One of objects returned by getVoices().
Returns
int ERROR or SUCCESS.

也可以看看:

shutdown

Added in API level 4
void shutdown ()

释放TextToSpeech引擎使用的资源。 例如,在Activity的onDestroy()方法中调用此方法是一种很好的做法,因此TextToSpeech引擎可以干净地停止。

speak

Added in API level 21
int speak (CharSequence text, 
                int queueMode, 
                Bundle params, 
                String utteranceId)

使用指定的排队策略和语音参数说出文本,文本可以跨越TtsSpans。 这种方法是异步的,即该方法只是将请求添加到TTS请求队列中,然后返回。 此方法返回时,综合可能尚未完成(甚至未开始!)。 为了在合成过程中可靠地检测到错误,我们建议设置发言进度监听程序(请参阅setOnUtteranceProgressListener(UtteranceProgressListener) )并使用KEY_PARAM_UTTERANCE_ID参数。

Parameters
text CharSequence: The string of text to be spoken. No longer than getMaxSpeechInputLength() characters.
queueMode int: The queuing strategy to use, QUEUE_ADD or QUEUE_FLUSH.
params Bundle: Parameters for the request. Can be null. Supported parameter names: KEY_PARAM_STREAM, KEY_PARAM_VOLUME, KEY_PARAM_PAN. Engine specific parameters may be passed in but the parameter keys must be prefixed by the name of the engine they are intended for. For example the keys "com.svox.pico_foo" and "com.svox.pico:bar" will be passed to the engine named "com.svox.pico" if it is being used.
utteranceId String: An unique identifier for this request.
Returns
int ERROR or SUCCESS of queuing the speak operation.

speak

Added in API level 4
int speak (String text, 
                int queueMode, 
                HashMap<StringString> params)

此方法在API级别21中已弃用。
从API级别21开始,替换为speak(CharSequence, int, Bundle, String)

使用指定的排队策略和语音参数说出字符串。 这种方法是异步的,即该方法只是将请求添加到TTS请求队列中,然后返回。 此方法返回时,综合可能尚未完成(甚至未开始!)。 为了在合成过程中可靠地检测错误,我们建议设置发言进度监听器(请参阅setOnUtteranceProgressListener(UtteranceProgressListener) )并使用KEY_PARAM_UTTERANCE_ID参数。

Parameters
text String: The string of text to be spoken. No longer than getMaxSpeechInputLength() characters.
queueMode int: The queuing strategy to use, QUEUE_ADD or QUEUE_FLUSH.
params HashMap: Parameters for the request. Can be null. Supported parameter names: KEY_PARAM_STREAM, KEY_PARAM_UTTERANCE_ID, KEY_PARAM_VOLUME, KEY_PARAM_PAN. Engine specific parameters may be passed in but the parameter keys must be prefixed by the name of the engine they are intended for. For example the keys "com.svox.pico_foo" and "com.svox.pico:bar" will be passed to the engine named "com.svox.pico" if it is being used.
Returns
int ERROR or SUCCESS of queuing the speak operation.

stop

Added in API level 4
int stop ()

中断当前话语(无论是播放还是渲染到文件)并丢弃队列中的其他话语。

Returns
int ERROR or SUCCESS.

synthesizeToFile

Added in API level 21
int synthesizeToFile (CharSequence text, 
                Bundle params, 
                File file, 
                String utteranceId)

使用指定的参数将给定的文本合成到文件中。 这种方法是异步的,即该方法只是将请求添加到TTS请求队列中,然后返回。 此方法返回时,综合可能尚未完成(甚至未开始!)。 为了在合成过程中可靠地检测到错误,我们建议设置发言进度监听器(请参阅setOnUtteranceProgressListener(UtteranceProgressListener) )。

Parameters
text CharSequence: The text that should be synthesized. No longer than getMaxSpeechInputLength() characters.
params Bundle: Parameters for the request. Can be null. Engine specific parameters may be passed in but the parameter keys must be prefixed by the name of the engine they are intended for. For example the keys "com.svox.pico_foo" and "com.svox.pico:bar" will be passed to the engine named "com.svox.pico" if it is being used.
file File: File to write the generated audio data to.
utteranceId String: An unique identifier for this request.
Returns
int ERROR or SUCCESS of queuing the synthesizeToFile operation.

synthesizeToFile

Added in API level 4
int synthesizeToFile (String text, 
                HashMap<StringString> params, 
                String filename)

此方法在API级别21中已弃用。
从API级别21开始,替换为synthesizeToFile(CharSequence, Bundle, File, String)

使用指定的参数将给定的文本合成到文件中。 这种方法是异步的,即该方法只是将请求添加到TTS请求队列中,然后返回。 此方法返回时,综合可能尚未完成(甚至未开始!)。 为了在合成过程中可靠地检测到错误,我们建议设置发言进度监听程序(请参阅setOnUtteranceProgressListener(UtteranceProgressListener) )并使用KEY_PARAM_UTTERANCE_ID参数。

Parameters
text String: The text that should be synthesized. No longer than getMaxSpeechInputLength() characters.
params HashMap: Parameters for the request. Can be null. Supported parameter names: KEY_PARAM_UTTERANCE_ID. Engine specific parameters may be passed in but the parameter keys must be prefixed by the name of the engine they are intended for. For example the keys "com.svox.pico_foo" and "com.svox.pico:bar" will be passed to the engine named "com.svox.pico" if it is being used.
filename String: Absolute file filename to write the generated audio data to.It should be something like "/sdcard/myappsounds/mysound.wav".
Returns
int ERROR or SUCCESS of queuing the synthesizeToFile operation.

Hooray!