public class TTSEngine
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static interface |
TTSEngine.Callback |
static class |
TTSEngine.CallbackOptimize |
static interface |
TTSEngine.SpeechProcessorListener |
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 |
---|---|
void |
destroy() |
void |
enableFocus(boolean enable)
设备抢焦点,默认为抢焦点
|
java.util.List<CustomAudioBean> |
getCustomAudio()
获取自定义TTS播报录音的接口
|
static TTSEngine |
getInstance()
获取TTSEngine
|
static TTSEngine |
getInstance(java.lang.String lBridgeAddr)
获取TTSEngine
|
static TTSEngine |
getInstanceSnapshot()
获取 TTSEngine 实例快照
|
java.lang.String |
getSpeaker()
获取当前使用的合成音类型
|
float |
getSpeed()
获取当前使用的合成音语速
|
java.lang.String |
getStyle()
获取当前TTS人设
|
java.lang.String |
getTtsAIConf()
获取dui平台的tts配置
|
int |
getVolume()
获取当前使用的合成音音量
|
void |
mutePlayer()
播放器静音
|
void |
removeStyle()
清除TTS人设
相对的api
setStyle(String) |
void |
setCustomAudio(java.util.List<CustomAudioBean> customAudioList)
设置自定义TTS播报录音的接口
|
void |
setListener(TTSEngine.Callback listener)
设置TTS相关事件的监听
|
void |
setListener(TTSEngine.CallbackOptimize listener)
设置TTS相关事件的监听, 精减音频的回调
|
void |
setListenerByProcess(TTSEngine.CallbackOptimize listener)
设置TTS相关事件的监听, 精减音频的回调
|
void |
setMode(int mode)
设置合成音为本地合成或者云端合成
|
void |
setPlayAfterTime(int afterTime)
设置TTS结束后延迟时间,单位ms
|
void |
setSpeaker(java.lang.String speaker)
设置TTS播报类型的接口
|
void |
setSpeaker(java.lang.String speaker,
java.lang.String resPath)
设置TTS播报类型的接口
|
void |
setSpeed(float speed)
设置TTS播报语速的接口
|
void |
setStreamType(int streamType)
设置TTS播报的通道
|
void |
setStyle(java.lang.String style)
设置TTS人设
相对的api
removeStyle() |
void |
setTtsServer(java.lang.String tts_server)
动态设置 云端tts 合成地址
|
void |
setUsage(int usage,
int contentType)
设置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
|
void |
unmutePlayer()
播放器恢复声音播放
|
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 setListener(TTSEngine.CallbackOptimize listener) throws DDSNotInitCompleteException
listener
- 回调各事件DDSNotInitCompleteException
- 如果DDS没有初始化完成,会抛出exceptionpublic void setListenerByProcess(TTSEngine.CallbackOptimize 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 mutePlayer() throws DDSNotInitCompleteException
DDSNotInitCompleteException
- 如果DDS没有初始化完成,会抛出exceptionpublic void unmutePlayer() throws DDSNotInitCompleteException
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 setSpeaker(java.lang.String speaker, java.lang.String resPath) throws DDSNotInitCompleteException
调用此接口则云端配置的合成音类型失效,此后的合成音类型都将由此接口来托管
speaker
- 取值如:zhilingf, gdgm等,若取为null,则表示随机改为一个不同的类型resPath
- 合成资源的全路径: sdcard/aispeech/gdgm.binDDSNotInitCompleteException
- 如果DDS没有初始化完成,会抛出exceptionpublic void setStyle(java.lang.String style) throws DDSNotInitCompleteException
removeStyle()
style
- 风格,humor:幽默;calm:沉稳;common:普通;简短:short;DDSNotInitCompleteException
public void removeStyle() throws DDSNotInitCompleteException
setStyle(String)
DDSNotInitCompleteException
public void setCustomAudio(java.util.List<CustomAudioBean> customAudioList) throws DDSNotInitCompleteException
调用此接口则表态配置的播报录音失效,以动态设置的为准
customAudioList
- 取值如:自定义播报音频列表DDSNotInitCompleteException
- 如果DDS没有初始化完成,会抛出exceptionpublic java.util.List<CustomAudioBean> getCustomAudio() throws DDSNotInitCompleteException
DDSNotInitCompleteException
- 如果DDS没有初始化完成,会抛出exceptionpublic void setVolume(int volume) throws DDSNotInitCompleteException
调用此接口则云端配置的合成音音量失效,此后的合成音音量都将由此接口来托管
volume
- 音量大小,取值1-100DDSNotInitCompleteException
- 如果DDS没有初始化完成,会抛出exceptionpublic java.lang.String getTtsAIConf()
public void setSpeed(float speed) throws DDSNotInitCompleteException
调用此接口则云端配置的合成音语速失效,此后的合成音语速都将由此接口来托管
speed
- 语速,取值0.5-2.0,0.5语速最快,2.0语速最慢DDSNotInitCompleteException
- 如果DDS没有初始化完成,会抛出exceptionpublic java.lang.String getStyle() throws DDSNotInitCompleteException
DDSNotInitCompleteException
public 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 enableFocus(boolean enable) throws DDSNotInitCompleteException
enable
- true/false true: 抢焦点 false: 不抢焦点DDSNotInitCompleteException
public void setTtsServer(java.lang.String tts_server) throws DDSNotInitCompleteException
tts_server
- StringDDSNotInitCompleteException
public void setPlayAfterTime(int afterTime) throws DDSNotInitCompleteException
afterTime
- DDSNotInitCompleteException
public void setStreamType(int streamType) throws DDSNotInitCompleteException
streamType
- DDSNotInitCompleteException
public void setUsage(int usage, int contentType) throws DDSNotInitCompleteException
usage
- 取值: AudioAttributes.USAGE_*contentType
- 取值: AudioAttributes.CONTENT_TYPE_*DDSNotInitCompleteException
public void destroy()