public class TTSEngine
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static interface |
TTSEngine.Callback |
Modifier and Type | Field and Description |
---|---|
static int |
CLOUD |
static int |
LOCAL |
static java.lang.String |
SSML |
static java.lang.String |
TEXT |
Modifier | Constructor and Description |
---|---|
protected |
TTSEngine(java.lang.String lBridgeAddr) |
Modifier and Type | Method and Description |
---|---|
protected void |
destroy() |
static TTSEngine |
getInstance()
获取TTSEngine
|
static TTSEngine |
getInstance(java.lang.String lBridgeAddr)
获取TTSEngine
|
static TTSEngine |
getInstanceSnapshot()
获取 TTSEngine 实例快照
|
java.lang.String |
getSpeaker()
获取当前使用的合成音类型
|
float |
getSpeed()
获取当前使用的合成音语速
|
int |
getVolume()
获取当前使用的合成音音量
|
void |
setListener(TTSEngine.Callback listener)
设置TTS相关事件的监听
|
void |
setMode(int mode)
设置合成音为本地合成或者云端合成
|
void |
setSpeaker(java.lang.String speaker)
设置TTS播报类型的接口
|
void |
setSpeed(float speed)
设置TTS播报语速的接口
|
void |
setStreamType(int streamType)
设置TTS播报的通道
|
void |
setVolume(int volume)
设置TTS播报音量的接口
|
void |
shutup(java.lang.String ttsId)
停止播报接口
|
void |
speak(java.lang.String text,
int priority)
播报文本,支持SSML
|
void |
speak(java.lang.String text,
int priority,
java.lang.String type)
播报文本,支持SSML
|
void |
speak(java.lang.String text,
int priority,
java.lang.String ttsId,
int audioFocus)
播报文本,支持SSML
|
void |
speak(java.lang.String text,
int priority,
java.lang.String ttsId,
int audioFocus,
java.lang.String type)
播报文本,支持SSML
|
public static final int LOCAL
public static final int CLOUD
public static final java.lang.String TEXT
public static final java.lang.String SSML
public static TTSEngine getInstance()
public static TTSEngine getInstance(java.lang.String lBridgeAddr)
lBridgeAddr
- 指定busserver地址public static TTSEngine getInstanceSnapshot()
public void setListener(TTSEngine.Callback listener) throws DDSNotInitCompleteException
listener
- 回调各事件DDSNotInitCompleteException
- 如果DDS没有初始化完成,会抛出exceptionpublic void speak(java.lang.String text, int priority) throws DDSNotInitCompleteException
当DDSConfig.K_TTS_MODE设置为"external"时,该接口无效,请直接调用外部TTS引擎的对应接口。
text
- 播报文本priority
- 优先级
DDSNotInitCompleteException
- 如果DDS没有初始化完成,会抛出exceptionpublic void speak(java.lang.String text, int priority, java.lang.String type) throws DDSNotInitCompleteException
当DDSConfig.K_TTS_MODE设置为"external"时,该接口无效,请直接调用外部TTS引擎的对应接口。
text
- 播报文本priority
- 优先级type
- 文本的类型,TEXT
or SSML
DDSNotInitCompleteException
- 如果DDS没有初始化完成,会抛出exceptionpublic void speak(java.lang.String text, int priority, java.lang.String ttsId, int audioFocus) throws DDSNotInitCompleteException
当DDSConfig.K_TTS_MODE设置为"external"时,该接口无效,请直接调用外部TTS引擎的对应接口。
text
- 播报文本priority
- 优先级
ttsId
- 用于追踪该次播报的id,建议使用UUID.audioFocus
- 该次播报的音频焦
AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE
AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK
DDSNotInitCompleteException
- 如果DDS没有初始化完成,会抛出exceptionpublic void speak(java.lang.String text, int priority, java.lang.String ttsId, int audioFocus, java.lang.String type) throws DDSNotInitCompleteException
当DDSConfig.K_TTS_MODE设置为"external"时,该接口无效,请直接调用外部TTS引擎的对应接口。
text
- 播报文本priority
- 优先级
ttsId
- 用于追踪该次播报的id,建议使用UUID.audioFocus
- 该次播报的音频焦type
- 文本的类型,TEXT
or SSML
AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE
AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK
DDSNotInitCompleteException
- 如果DDS没有初始化完成,会抛出exceptionpublic void shutup(java.lang.String ttsId) throws DDSNotInitCompleteException
当DDSConfig.K_TTS_MODE设置为"external"时,该接口无效,请直接调用外部TTS引擎的对应接口。
ttsId
- 和 speak(String, int, String, int)
ttsId.一致
ttsId与speak接口的ttsId一致,则停止或者移除该播报;
ttsId为空, 停止所有播报;
ttsId为"0",停止当前播报.DDSNotInitCompleteException
- 如果DDS没有初始化完成,会抛出exceptionpublic void setSpeaker(java.lang.String speaker) throws DDSNotInitCompleteException
调用此接口则云端配置的合成音类型失效,此后的合成音类型都将由此接口来托管
speaker
- 取值如:zhilingf, gdgm等,若取为null,则表示随机改为一个不同的类型DDSNotInitCompleteException
- 如果DDS没有初始化完成,会抛出exceptionpublic void setVolume(int volume) throws DDSNotInitCompleteException
调用此接口则云端配置的合成音音量失效,此后的合成音音量都将由此接口来托管
volume
- 音量大小,取值1-100DDSNotInitCompleteException
- 如果DDS没有初始化完成,会抛出exceptionpublic void setSpeed(float speed) throws DDSNotInitCompleteException
调用此接口则云端配置的合成音语速失效,此后的合成音语速都将由此接口来托管
speed
- 语速,取值0.5-2.0,0.5语速最快,2.0语速最慢DDSNotInitCompleteException
- 如果DDS没有初始化完成,会抛出exceptionpublic java.lang.String getSpeaker() throws DDSNotInitCompleteException
DDSNotInitCompleteException
- 如果DDS没有初始化完成,会抛出exceptionpublic float getSpeed() throws DDSNotInitCompleteException
DDSNotInitCompleteException
- 如果DDS没有初始化完成,会抛出exceptionpublic int getVolume() throws DDSNotInitCompleteException
DDSNotInitCompleteException
- 如果DDS没有初始化完成,会抛出exceptionpublic void setMode(int mode) throws DDSNotInitCompleteException
mode
- 取值 TTSEngine.LOCAL(本地合成)
TTSEngine.CLOUD(云端合成)DDSNotInitCompleteException
- 如果DDS没有初始化完成,会抛出exceptionpublic void setStreamType(int streamType) throws DDSNotInitCompleteException
streamType
- DDSNotInitCompleteException
protected void destroy()