public class TextToSpeech
extends Object
java.lang.Object | |
↳ | android.speech.tts.TextToSpeech |
从文本合成语音以便立即播放或创建声音文件。
TextToSpeech实例只能在完成初始化后用于合成文本。 实现TextToSpeech.OnInitListener
以通知完成初始化。
当您完成使用TextToSpeech实例时,请调用shutdown()
方法来释放TextToSpeech引擎使用的本机资源。
Nested classes |
|
---|---|
class |
TextToSpeech.Engine 用于控制文本到语音的常量和参数名称。 |
class |
TextToSpeech.EngineInfo 有关已安装的文本到语音引擎的信息。 |
interface |
TextToSpeech.OnInitListener 要调用的回调的接口定义,指示TextToSpeech引擎初始化的完成。 |
interface |
TextToSpeech.OnUtteranceCompletedListener 此接口在API级别18中已弃用。请改为使用 |
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开始,替换为 |
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开始,使用 |
Voice |
getDefaultVoice() 返回语音实例,该实例是默认的文本语音转换语言的默认语音。 |
List<TextToSpeech.EngineInfo> |
getEngines() 获取所有安装的TTS引擎的列表。 |
Set<String> |
getFeatures(Locale locale) 此方法在API级别21中已弃用。从API级别21开始,请使用声音。 为了查询语音的特征,请致电 |
Locale |
getLanguage() 此方法在API级别21中已弃用。从API级别21开始,请使用 |
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<String, String> params) 此方法在API级别21中已弃用。从API级别21开始,替换为 |
int |
playEarcon(String earcon, int queueMode, Bundle params, String utteranceId) 使用指定的排队模式和参数播放耳机。 |
int |
playSilence(long durationInMs, int queueMode, HashMap<String, String> params) 此方法在API级别21中已弃用。从API级别21开始,替换为 |
int |
playSilentUtterance(long durationInMs, int queueMode, String utteranceId) 使用指定的队列模式在指定的时间内播放静音。 |
int |
setAudioAttributes(AudioAttributes audioAttributes) 设置讲话文本或播放文件时要使用的音频属性。 |
int |
setEngineByPackageName(String enginePackageName) 此方法在API级别14中已被弃用。这不会在TTS引擎初始化时通知呼叫者。 |
int |
setLanguage(Locale loc) 设置文本到语音的语言。 |
int |
setOnUtteranceCompletedListener(TextToSpeech.OnUtteranceCompletedListener listener) 此方法在API级别15中已弃用。请改为使用 |
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<String, String> params) 此方法在API级别21中已弃用。从API级别21开始,替换为 |
int |
stop() 中断当前话语(无论是播放还是渲染到文件)并丢弃队列中的其他话语。 |
int |
synthesizeToFile(CharSequence text, Bundle params, File file, String utteranceId) 使用指定的参数将给定的文本合成到文件中。 |
int |
synthesizeToFile(String text, HashMap<String, String> params, String filename) 此方法在API级别21中已弃用。从API级别21开始,替换为 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
String ACTION_TTS_QUEUE_PROCESSING_COMPLETED
广播动作:TextToSpeech合成器已完成语音队列中所有文本的处理。 请注意,这会在引擎完成处理文本数据时通知呼叫者。 此时音频播放可能尚未完成(甚至未开始)。 如果您希望在发生这种情况时收到通知,请参阅TextToSpeech.OnUtteranceCompletedListener
。
常量值:“android.speech.tts.TTS_QUEUE_PROCESSING_COMPLETED”
int ERROR_INVALID_REQUEST
表示由无效请求导致的失败。
常量值:-8(0xfffffff8)
int ERROR_NETWORK_TIMEOUT
表示由网络超时造成的故障。
常量值:-7(0xfffffff9)
int ERROR_NOT_INSTALLED_YET
表示由未完成的语音数据下载导致的故障。
也可以看看:
常量值:-9(0xfffffff7)
int LANG_AVAILABLE
表示该语言可以通过语言环境使用该语言,但不能使用该国家和变体。
常量值:0(0x00000000)
int LANG_COUNTRY_AVAILABLE
表示该语言可用于由语言环境指定的语言和国家,但不包含该变体。
常数值:1(0x00000001)
int LANG_COUNTRY_VAR_AVAILABLE
表示语言完全按照语言环境的指定可用。
常量值:2(0x00000002)
int QUEUE_FLUSH
队列模式,播放队列中的所有条目(要播放的媒体和要合成的文本)将被删除,并由新条目取代。 对于给定的调用应用程序,队列被刷新。 来自其他被调用者的队列中的条目不会被丢弃。
常量值:0(0x00000000)
int STOPPED
表示客户请求的停止。 它只用于API的服务端,客户端永远不会期望看到这个结果代码。
常量值:-2(0xfffffffe)
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 (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. |
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.
|
resourceId |
int : Example: R.raw.tick_snd |
Returns | |
---|---|
int |
Code indicating success or failure. See ERROR and SUCCESS . |
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 . |
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 . |
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 . |
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.
|
resourceId |
int : Example: R.raw.south_south_east |
Returns | |
---|---|
int |
Code indicating success or failure. See ERROR and SUCCESS . |
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.
|
resourceId |
int : Example: R.raw.south_south_east |
Returns | |
---|---|
int |
Code indicating success or failure. See ERROR and SUCCESS . |
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 . |
boolean areDefaultsEnforced ()
检查用户的设置是否应覆盖调用应用程序所请求的设置。 从冰淇淋三明治版本开始,用户设置永远不会强行覆盖应用程序的设置。
Returns | |
---|---|
boolean |
Set<Locale> getAvailableLanguages ()
向引擎查询一组可用语言。
Returns | |
---|---|
Set<Locale> |
String getDefaultEngine ()
获取默认语音合成引擎的包名称。
Returns | |
---|---|
String |
Package name of the TTS engine that the user has chosen as their default. |
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. |
Voice getDefaultVoice ()
返回语音实例,该实例是默认的文本语音转换语言的默认语音。
Returns | |
---|---|
Voice |
The default voice instance for the default language, or null if not set or on error. |
List<TextToSpeech.EngineInfo> getEngines ()
获取所有安装的TTS引擎的列表。
Returns | |
---|---|
List<TextToSpeech.EngineInfo> |
A list of engine info objects. The list can be empty, but never null . |
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. |
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. |
int getMaxSpeechInputLength ()
传递给speak和synthesizeToFile的输入字符串的长度限制。
Returns | |
---|---|
int |
Voice getVoice ()
返回描述当前用于发送到TextToSpeech引擎的综合请求的语音的语音实例。
Returns | |
---|---|
Voice |
Voice instance used by the client, or null if not set or on error. |
也可以看看:
Set<Voice> getVoices ()
向引擎查询可用语音集。 每个TTS引擎都可以为每个语言环境显示多个语音,每个语音都有一组不同的功能。
Returns | |
---|---|
Set<Voice> |
也可以看看:
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 . |
boolean isSpeaking ()
检查TTS引擎是否正忙于说话。 请注意,一旦语音项目的音频数据已发送到音频混音器或写入文件,就认为语音项目已完成。 在这点和音频硬件完成播放之间可能存在有限的延迟。
Returns | |
---|---|
boolean |
true if the TTS engine is speaking. |
int playEarcon (String earcon, int queueMode, HashMap<String, String> 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. |
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. |
int playSilence (long durationInMs, int queueMode, HashMap<String, String> 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. |
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. |
int setAudioAttributes (AudioAttributes audioAttributes)
设置讲话文本或播放文件时要使用的音频属性。
Parameters | |
---|---|
audioAttributes |
AudioAttributes : Valid AudioAttributes instance. |
Returns | |
---|---|
int |
ERROR or SUCCESS . |
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 . |
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 . |
int setOnUtteranceCompletedListener (TextToSpeech.OnUtteranceCompletedListener listener)
此方法在API级别15中已被弃用。
改为使用setOnUtteranceProgressListener(UtteranceProgressListener)
。
设置在话语合成完成时将被通知的侦听器。
Parameters | |
---|---|
listener |
TextToSpeech.OnUtteranceCompletedListener : The listener to use. |
Returns | |
---|---|
int |
ERROR or SUCCESS . |
int setOnUtteranceProgressListener (UtteranceProgressListener listener)
设置将被通知与给定话语的合成有关的各种事件的监听器。 见UtteranceProgressListener
和KEY_PARAM_UTTERANCE_ID
。
Parameters | |
---|---|
listener |
UtteranceProgressListener : the listener to use. |
Returns | |
---|---|
int |
ERROR or SUCCESS |
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 . |
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 . |
int setVoice (Voice voice)
设置文本到语音的语音。
Parameters | |
---|---|
voice |
Voice : One of objects returned by getVoices() . |
Returns | |
---|---|
int |
ERROR or SUCCESS . |
也可以看看:
void shutdown ()
释放TextToSpeech引擎使用的资源。 例如,在Activity的onDestroy()方法中调用此方法是一种很好的做法,因此TextToSpeech引擎可以干净地停止。
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. |
int speak (String text, int queueMode, HashMap<String, String> 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. |
int stop ()
中断当前话语(无论是播放还是渲染到文件)并丢弃队列中的其他话语。
Returns | |
---|---|
int |
ERROR or SUCCESS . |
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. |
int synthesizeToFile (String text, HashMap<String, String> 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. |