类 TTSEngine
- java.lang.Object
-
- com.aispeech.dui.dds.agent.tts.TTSEngine
-
public class TTSEngine extends java.lang.Object
Created by nemo on 17-12-13.
-
-
嵌套类概要
嵌套类 修饰符和类型 类 说明 static interfaceTTSEngine.Callbackstatic classTTSEngine.CallbackOptimizestatic interfaceTTSEngine.SpeechProcessorListenerstatic classTTSEngine.TtsSpeakerRequestBean
-
构造器概要
构造器 限定符 构造器 说明 protectedTTSEngine(java.lang.String lBridgeAddr)
-
方法概要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 说明 voiddestroy()voidenableFocus(boolean enable)设备抢焦点,默认为抢焦点java.util.List<CustomAudioBean>getCustomAudio()获取自定义TTS播报录音的接口static TTSEnginegetInstance()获取TTSEnginestatic TTSEnginegetInstance(java.lang.String lBridgeAddr)获取TTSEnginestatic TTSEnginegetInstanceSnapshot()获取 TTSEngine 实例快照java.lang.StringgetSpeaker()获取当前使用的合成音类型floatgetSpeed()获取当前使用的合成音语速java.lang.StringgetStyle()获取当前TTS人设java.lang.StringgetTtsAIConf()获取dui平台的tts配置intgetVolume()获取当前使用的合成音音量voidmutePlayer()播放器静音voidremoveStyle()清除TTS人设 相对的apisetStyle(String)voidsetCustomAudio(java.util.List<CustomAudioBean> customAudioList)设置自定义TTS播报录音的接口voidsetGainType(int gainType)voidsetListener(TTSEngine.Callback listener)设置TTS相关事件的监听voidsetListener(TTSEngine.CallbackOptimize listener)设置TTS相关事件的监听, 精减音频的回调voidsetListenerByProcess(TTSEngine.CallbackOptimize listener)设置TTS相关事件的监听, 精减音频的回调voidsetMode(int mode)设置合成音为本地合成或者云端合成voidsetPhoneReturn(boolean phoneReturn)设置TTS是否返回音素信息,因为历史遗留音素,会存在下列问题 部分音色会忽略音素设置,设置为true依旧不会返回信息,并抛出错误码72205, 如anonyg hbrinf hyanif lunaif_ctn lzyinf swkm zxcm zzxiangm等 部分音素支持返回音素, 如cyangfp dyb gdfanfp gqlanfp hthy jjingfp jlshim lanyuf lchuam lili1f_yubo lucyfa lzliafp madoufp_wenrou madoufp_yubo xbekef xijunma xjingfp xyb xynmamp ychanmp yhchu zhilingfp zhilingfp_huankuai zsmeif dksjif ybyuaf sqksaf zxiyum aningfp lmyanm wqingf_csn ppangf_csn hchunf_ctn mamif xmguof等 其余的音色不支持音素,不会返回音素信息,但是也不会抛出错误码voidsetPlayAfterTime(int afterTime)设置TTS结束后延迟时间,单位msvoidsetSpeaker(TTSEngine.TtsSpeakerRequestBean requestBean)设置TTS播报类型的接口voidsetSpeaker(java.lang.String speaker)设置TTS播报类型的接口voidsetSpeaker(java.lang.String speaker, java.lang.String resPath)设置TTS播报类型的接口voidsetSpeakerAndUserId(java.lang.String speaker, java.lang.String userId)动态设置人声复刻的server地址和userIdvoidsetSpeakerSampleRate(int sampleSize)设置TTS播报采样率,适配云端24K,默认云端不返回采样率voidsetSpeakerSampleRate(int sampleSize, boolean syncCloud)设置TTS播报采样率,适配云端24K,默认云端不返回采样率voidsetSpeed(float speed)设置TTS播报语速的接口voidsetStreamType(int streamType)设置TTS播报的通道voidsetStyle(java.lang.String style)设置TTS人设 相对的apiremoveStyle()voidsetTtsServer(java.lang.String tts_server)动态设置 云端tts 合成地址voidsetUsage(int usage, int contentType)设置TTS播报的通道voidsetVolume(int volume)设置TTS播报音量的接口voidshutup(java.lang.String ttsId)停止播报接口voidspeak(java.lang.String text, int priority)播报文本,支持SSMLvoidspeak(java.lang.String text, int priority, java.lang.String type)播报文本,支持SSMLvoidspeak(java.lang.String text, int priority, java.lang.String ttsId, int audioFocus)播报文本,支持SSMLvoidspeak(java.lang.String text, int priority, java.lang.String ttsId, int audioFocus, java.lang.String type)播报文本,支持SSMLvoidunmutePlayer()播放器恢复声音播放
-
-
-
构造器详细资料
-
TTSEngine
protected TTSEngine(java.lang.String lBridgeAddr)
-
-
方法详细资料
-
getInstance
public static TTSEngine getInstance()
获取TTSEngine- 返回:
- TTSEngine实例
-
getInstance
public static TTSEngine getInstance(java.lang.String lBridgeAddr)
获取TTSEngine- 参数:
lBridgeAddr- 指定busserver地址- 返回:
- TTSEngine实例
-
getInstanceSnapshot
public static TTSEngine getInstanceSnapshot()
获取 TTSEngine 实例快照- 返回:
- TTSEngine
-
setListener
public void setListener(TTSEngine.Callback listener) throws DDSNotInitCompleteException
设置TTS相关事件的监听- 参数:
listener- 回调各事件- 抛出:
DDSNotInitCompleteException- 如果DDS没有初始化完成,会抛出exception
-
setListener
public void setListener(TTSEngine.CallbackOptimize listener) throws DDSNotInitCompleteException
设置TTS相关事件的监听, 精减音频的回调- 参数:
listener- 回调各事件- 抛出:
DDSNotInitCompleteException- 如果DDS没有初始化完成,会抛出exception
-
setListenerByProcess
public void setListenerByProcess(TTSEngine.CallbackOptimize listener) throws DDSNotInitCompleteException
设置TTS相关事件的监听, 精减音频的回调- 参数:
listener- 回调各事件- 抛出:
DDSNotInitCompleteException- 如果DDS没有初始化完成,会抛出exception
-
speak
public void speak(java.lang.String text, int priority) throws DDSNotInitCompleteException
播报文本,支持SSML当DDSConfig.K_TTS_MODE设置为"external"时,该接口无效,请直接调用外部TTS引擎的对应接口。
- 参数:
text- 播报文本priority- 优先级- 优先级0-保留,与aios语音交互同级,仅限内部使用
- 优先级1-正常,默认选项,同级按序播放
- 优先级2-重要,可以插话优先级1,同级按序播放,播报完毕后继续播报刚才被插话的优先级1
- 优先级3-紧急,可以打断优先级1或优先级2,同级按序播放,播报完毕后播报下一句优先级2
- 抛出:
DDSNotInitCompleteException- 如果DDS没有初始化完成,会抛出exception
-
speak
public void speak(java.lang.String text, int priority, java.lang.String type) throws DDSNotInitCompleteException
播报文本,支持SSML当DDSConfig.K_TTS_MODE设置为"external"时,该接口无效,请直接调用外部TTS引擎的对应接口。
- 参数:
text- 播报文本priority- 优先级type- 文本的类型,TEXTorSSML- 优先级0-保留,与aios语音交互同级,仅限内部使用
- 优先级1-正常,默认选项,同级按序播放
- 优先级2-重要,可以插话优先级1,同级按序播放,播报完毕后继续播报刚才被插话的优先级1
- 优先级3-紧急,可以打断优先级1或优先级2,同级按序播放,播报完毕后播报下一句优先级2
- 抛出:
DDSNotInitCompleteException- 如果DDS没有初始化完成,会抛出exception
-
speak
public void speak(java.lang.String text, int priority, java.lang.String ttsId, int audioFocus) throws DDSNotInitCompleteException
播报文本,支持SSML当DDSConfig.K_TTS_MODE设置为"external"时,该接口无效,请直接调用外部TTS引擎的对应接口。
- 参数:
text- 播报文本priority- 优先级- 优先级0-保留,与aios语音交互同级,仅限内部使用;
- 优先级1-正常,默认选项,同级按序播放;
- 优先级2-重要,可以插话优先级1,同级按序播放,播报完毕后继续播报刚才被插话的优先级1
- 优先级3-紧急,可以打断优先级1或优先级2,同级按序播放,播报完毕后播报下一句优先级2
ttsId- 用于追踪该次播报的id,建议使用UUID.audioFocus- 该次播报的音频焦- priority == 0
AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE - priority != 0
AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK
- priority == 0
- 抛出:
DDSNotInitCompleteException- 如果DDS没有初始化完成,会抛出exception
-
speak
public void speak(java.lang.String text, int priority, java.lang.String ttsId, int audioFocus, java.lang.String type) throws DDSNotInitCompleteException
播报文本,支持SSML当DDSConfig.K_TTS_MODE设置为"external"时,该接口无效,请直接调用外部TTS引擎的对应接口。
- 参数:
text- 播报文本priority- 优先级- 优先级0-保留,与aios语音交互同级,仅限内部使用;
- 优先级1-正常,默认选项,同级按序播放;
- 优先级2-重要,可以插话优先级1,同级按序播放,播报完毕后继续播报刚才被插话的优先级1
- 优先级3-紧急,可以打断优先级1或优先级2,同级按序播放,播报完毕后播报下一句优先级2
ttsId- 用于追踪该次播报的id,建议使用UUID.audioFocus- 该次播报的音频焦type- 文本的类型,TEXTorSSML- priority == 0
AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE - priority != 0
AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK
- priority == 0
- 抛出:
DDSNotInitCompleteException- 如果DDS没有初始化完成,会抛出exception
-
mutePlayer
public void mutePlayer() throws DDSNotInitCompleteException
播放器静音- 抛出:
DDSNotInitCompleteException- 如果DDS没有初始化完成,会抛出exception
-
unmutePlayer
public void unmutePlayer() throws DDSNotInitCompleteException
播放器恢复声音播放- 抛出:
DDSNotInitCompleteException- 如果DDS没有初始化完成,会抛出exception
-
shutup
public 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没有初始化完成,会抛出exception
-
setSpeaker
public void setSpeaker(java.lang.String speaker) throws DDSNotInitCompleteException
设置TTS播报类型的接口调用此接口则云端配置的合成音类型失效,此后的合成音类型都将由此接口来托管
- 参数:
speaker- 取值如:zhilingf, gdgm等,若取为null,则使用产品配置的音色- 抛出:
DDSNotInitCompleteException- 如果DDS没有初始化完成,会抛出exception
-
setSpeaker
public void setSpeaker(TTSEngine.TtsSpeakerRequestBean requestBean) throws DDSNotInitCompleteException
设置TTS播报类型的接口调用此接口则云端配置的合成音类型失效,此后的合成音类型都将由此接口来托管
- 参数:
requestBean- tts的请求参数,包括音色,采样率等信息- 抛出:
DDSNotInitCompleteException- 如果DDS没有初始化完成,会抛出exception
-
setSpeaker
public void setSpeaker(java.lang.String speaker, java.lang.String resPath) throws DDSNotInitCompleteException
设置TTS播报类型的接口调用此接口则云端配置的合成音类型失效,此后的合成音类型都将由此接口来托管
- 参数:
speaker- 取值如:zhilingf, gdgm等,若取为null,则使用产品配置的音色resPath- 合成资源的全路径: sdcard/aispeech/zhilingf.bin- 抛出:
DDSNotInitCompleteException- 如果DDS没有初始化完成,会抛出exception
-
setSpeakerSampleRate
public void setSpeakerSampleRate(int sampleSize) throws DDSNotInitCompleteException
设置TTS播报采样率,适配云端24K,默认云端不返回采样率- 抛出:
DDSNotInitCompleteException- 如果DDS没有初始化完成,会抛出exception
-
setSpeakerSampleRate
public void setSpeakerSampleRate(int sampleSize, boolean syncCloud) throws DDSNotInitCompleteException
设置TTS播报采样率,适配云端24K,默认云端不返回采样率- 抛出:
DDSNotInitCompleteException- 如果DDS没有初始化完成,会抛出exception
-
setPhoneReturn
public void setPhoneReturn(boolean phoneReturn) throws DDSNotInitCompleteException
设置TTS是否返回音素信息,因为历史遗留音素,会存在下列问题 部分音色会忽略音素设置,设置为true依旧不会返回信息,并抛出错误码72205, 如anonyg hbrinf hyanif lunaif_ctn lzyinf swkm zxcm zzxiangm等 部分音素支持返回音素, 如cyangfp dyb gdfanfp gqlanfp hthy jjingfp jlshim lanyuf lchuam lili1f_yubo lucyfa lzliafp madoufp_wenrou madoufp_yubo xbekef xijunma xjingfp xyb xynmamp ychanmp yhchu zhilingfp zhilingfp_huankuai zsmeif dksjif ybyuaf sqksaf zxiyum aningfp lmyanm wqingf_csn ppangf_csn hchunf_ctn mamif xmguof等 其余的音色不支持音素,不会返回音素信息,但是也不会抛出错误码- 参数:
phoneReturn- 音素开关;- 抛出:
DDSNotInitCompleteException
-
setSpeakerAndUserId
public void setSpeakerAndUserId(java.lang.String speaker, java.lang.String userId) throws DDSNotInitCompleteException
动态设置人声复刻的server地址和userId- 参数:
speaker- String 人声复刻voiceIduserId- String 人声复刻voiceId对应的userId- 抛出:
DDSNotInitCompleteException
-
setStyle
public void setStyle(java.lang.String style) throws DDSNotInitCompleteException
设置TTS人设 相对的apiremoveStyle()- 参数:
style- 风格,humor:幽默;calm:沉稳;common:普通;简短:short;- 抛出:
DDSNotInitCompleteException
-
removeStyle
public void removeStyle() throws DDSNotInitCompleteException
清除TTS人设 相对的apisetStyle(String)
-
setCustomAudio
public void setCustomAudio(java.util.List<CustomAudioBean> customAudioList) throws DDSNotInitCompleteException
设置自定义TTS播报录音的接口调用此接口则表态配置的播报录音失效,以动态设置的为准
- 参数:
customAudioList- 取值如:自定义播报音频列表- 抛出:
DDSNotInitCompleteException- 如果DDS没有初始化完成,会抛出exception
-
getCustomAudio
public java.util.List<CustomAudioBean> getCustomAudio() throws DDSNotInitCompleteException
获取自定义TTS播报录音的接口- 返回:
- 自定义TTS播报录音
- 抛出:
DDSNotInitCompleteException- 如果DDS没有初始化完成,会抛出exception
-
setVolume
public void setVolume(int volume) throws DDSNotInitCompleteException
设置TTS播报音量的接口调用此接口则云端配置的合成音音量失效,此后的合成音音量都将由此接口来托管
- 参数:
volume- 音量大小,取值1-500- 抛出:
DDSNotInitCompleteException- 如果DDS没有初始化完成,会抛出exception
-
getTtsAIConf
public java.lang.String getTtsAIConf()
获取dui平台的tts配置- 返回:
- {"speaker":"zhilingf","volume":50,"type":"mode","speed":0.85}
-
setSpeed
public void setSpeed(float speed) throws DDSNotInitCompleteException
设置TTS播报语速的接口调用此接口则云端配置的合成音语速失效,此后的合成音语速都将由此接口来托管
- 参数:
speed- 语速,取值0.5-2.0,0.5语速最快,2.0语速最慢- 抛出:
DDSNotInitCompleteException- 如果DDS没有初始化完成,会抛出exception
-
getStyle
public java.lang.String getStyle() throws DDSNotInitCompleteException
获取当前TTS人设- 返回:
- String 当前 TTS 人设的类型
- 抛出:
DDSNotInitCompleteException
-
getSpeaker
public java.lang.String getSpeaker() throws DDSNotInitCompleteException
获取当前使用的合成音类型- 返回:
- String 当前使用的合成音类型,如:"zhilingf",获取失败返回null
- 抛出:
DDSNotInitCompleteException- 如果DDS没有初始化完成,会抛出exception
-
getSpeed
public float getSpeed() throws DDSNotInitCompleteException
获取当前使用的合成音语速- 返回:
- float 当前合成音语速,返回值0.5-2.0,0.5语速最快,2.0语速最慢,获取失败返回 0
- 抛出:
DDSNotInitCompleteException- 如果DDS没有初始化完成,会抛出exception
-
getVolume
public int getVolume() throws DDSNotInitCompleteException
获取当前使用的合成音音量- 返回:
- int 当前合成音音量,返回值1-100,获取失败返回 0
- 抛出:
DDSNotInitCompleteException- 如果DDS没有初始化完成,会抛出exception
-
setMode
public void setMode(int mode) throws DDSNotInitCompleteException
设置合成音为本地合成或者云端合成- 参数:
mode- 取值 TTSEngine.LOCAL(本地合成) TTSEngine.CLOUD(云端合成)- 抛出:
DDSNotInitCompleteException- 如果DDS没有初始化完成,会抛出exception
-
enableFocus
public void enableFocus(boolean enable) throws DDSNotInitCompleteException
设备抢焦点,默认为抢焦点- 参数:
enable- true/false true: 抢焦点 false: 不抢焦点- 抛出:
DDSNotInitCompleteException
-
setTtsServer
public void setTtsServer(java.lang.String tts_server) throws DDSNotInitCompleteException
动态设置 云端tts 合成地址- 参数:
tts_server- String- 抛出:
DDSNotInitCompleteException
-
setPlayAfterTime
public void setPlayAfterTime(int afterTime) throws DDSNotInitCompleteException
设置TTS结束后延迟时间,单位ms- 参数:
afterTime-- 抛出:
DDSNotInitCompleteException
-
setStreamType
public void setStreamType(int streamType) throws DDSNotInitCompleteException
设置TTS播报的通道- 参数:
streamType-- 抛出:
DDSNotInitCompleteException
-
setUsage
public void setUsage(int usage, int contentType) throws DDSNotInitCompleteException
设置TTS播报的通道- 参数:
usage- 取值: AudioAttributes.USAGE_*contentType- 取值: AudioAttributes.CONTENT_TYPE_*- 抛出:
DDSNotInitCompleteException
-
setGainType
public void setGainType(int gainType) throws DDSNotInitCompleteException
-
destroy
public void destroy()
-
-