语音合成(Synthesizer)
#类SpeechSynthesizer
#语音合成类
#嵌套类概要
com.iflytek.cloud.msc.module.SpeechInterface.ENGINE_MODE
#方法概要
限定符和类型 | 方法和说明 |
---|---|
static SpeechSynthesizer | createSynthesizer(android.content.Context context, InitListener listener) 创建单例对象 使用此函数创建一个本类单例对象。 |
boolean | destroy() 销毁单例对象 通过本函数,销毁由createSynthesizer(android.content.Context, com.iflytek.cloud.InitListener)创建的单例对象。 |
java.lang.String | getParameter(java.lang.String key) 获取参数 获取指定的参数的当前值。 |
static SpeechSynthesizer | getSynthesizer() 获取单例对象 通过函数获取已创建的单例对象。 |
boolean | isSpeaking() 是否在合成 是否在合成状态,包括是否在播放状态,音频从服务端获取完成后,若未播放 完成,依然处于当前会话的合成中。 |
void | pauseSpeaking() 暂停播放 暂停播放,仅在合成播放模式下有效,暂停播放,并不会暂停音频的获取过程, 只是在把播放器暂停。 |
void | resumeSpeaking() 恢复播放 在暂停后,在当前暂停位置开始播放合成的音频。 |
boolean | setParameter(java.lang.String key, java.lang.String value) 参数设置 可设置的参数有: SpeechConstant.VOICE_NAME: 发音人 SpeechConstant.SPEED: 合成语速 SpeechConstant.VOLUME: 合成音量 SpeechConstant.PITCH: 合成语调 SpeechConstant.BACKGROUND_SOUND: 背景音乐 SpeechConstant.TTS_BUFFER_TIME: 合成音频缓冲时间 SpeechConstant.STREAM_TYPE: 播放类型 SpeechConstant.SAMPLE_RATE: 采样率 SpeechConstant.TTS_AUDIO_PATH: 合成录音保存路径 SpeechConstant.ENGINE_TYPE:引擎类型; ResourceUtil.TTS_RES_PATH:离线资源路径; ResourceUtil.ENGINE_START:启动离线引擎; SpeechConstant.TTS_FADING : 合成淡入淡出; SpeechConstant.AUDIO_FORMAT_AUE:音频流编解码格式; |
int | startSpeaking(java.lang.String text, SynthesizerListener listener) 开始合成 调用此函数,开始合成文本并播放音频。 |
void | stopSpeaking() 停止合成 调用此函数,取消当前合成会话,并停止音频播放。 |
int | synthesizeToUri(java.lang.String text, java.lang.String uri, SynthesizerListener listener) 合成到文件 合成文本到一个音频文件,不播放。 |
setParameter
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
#方法详细资料
#createSynthesizer
public static SpeechSynthesizer createSynthesizer(android.content.Context context,
InitListener listener)
使用此函数创建一个本类单例对象。当成功创建一次单例对象后,可一直使用此对象, 直到调用destroy()销毁已创建的单例对象为止。若在当前应用生命周期内调用destroy()前再次调用本函数,则直接返回已创建的单例对象。可通过getSynthesizer()获取已创建的单例对象。
合成对象
destroy(),getSynthesizer()
#getSynthesizer
public static SpeechSynthesizer getSynthesizer()
通过函数获取已创建的单例对象。当单例对象未创建时,将返回null,此时应先通过createSynthesizer(android.content.Context, com.iflytek.cloud.InitListener)创建单例对象。
合成对象
createSynthesizer(android.content.Context, com.iflytek.cloud.InitListener), destroy()
#startSpeaking
public int startSpeaking(java.lang.String text,
SynthesizerListener listener)
text - 待合成的文本
listener - 合成状态监听器
createSynthesizer(android.content.Context, com.iflytek.cloud.InitListener), getSynthesizer(), synthesizeToUri(java.lang.String, java.lang.String, com.iflytek.cloud.SynthesizerListener), stopSpeaking(), setParameter(String, String), SynthesizerListener
#synthesizeToUri
public int synthesizeToUri(java.lang.String text,
java.lang.String uri,
SynthesizerListener listener)
合成文本到一个音频文件,不播放。使用此函数时,请考虑应用是否 有在设置的目录中保存文件的权限。
text - 要合成的文本
uri - 要保存的文件路径(含文件名)
listener - 合成音频回调接口
#pauseSpeaking
public void pauseSpeaking()
暂停播放,仅在合成播放模式下有效,暂停播放,并不会暂停音频的获取过程, 只是在把播放器暂停。
#resumeSpeaking
public void resumeSpeaking()
在暂停后,在当前暂停位置开始播放合成的音频。
pauseSpeaking(), stopSpeaking()
#stopSpeaking
public void stopSpeaking()
调用此函数,取消当前合成会话,并停止音频播放。调用此函数后,未合 成的音频将不再返回,若为合成到文件模式,音频文件将不会被保存。
#isSpeaking
public boolean isSpeaking()
是否在合成状态,包括是否在播放状态,音频从服务端获取完成后,若未播放 完成,依然处于当前会话的合成中。
true 是,false 否
#setParameter
public boolean setParameter(java.lang.String key,
java.lang.String value)
可设置的参数有:
SpeechConstant.VOICE_NAME: 发音人
SpeechConstant.SPEED: 合成语速
SpeechConstant.VOLUME: 合成音量
SpeechConstant.PITCH: 合成语调
SpeechConstant.BACKGROUND_SOUND: 背景音乐
SpeechConstant.TTS_BUFFER_TIME: 合成音频缓冲时间
SpeechConstant.STREAM_TYPE: 播放类型
SpeechConstant.SAMPLE_RATE: 采样率
SpeechConstant.TTS_AUDIO_PATH: 合成录音保存路径
SpeechConstant.ENGINE_TYPE: 引擎类型;
ResourceUtil.TTS_RES_PATH: 离线资源路径;
ResourceUtil.ENGINE_START: 启动离线引擎;
SpeechConstant.TTS_FADING: 合成淡入淡出;
SpeechConstant.AUDIO_FORMAT_AUE: 音频流编解码格式;
setParameter 在类中 com.iflytek.cloud.msc.module.SpeechInterface
key - 参数名
value - 参数值
设置是否成功
startSpeaking(String, SynthesizerListener), getParameter(String)
#getParameter
public java.lang.String getParameter(java.lang.String key)
获取指定的参数的当前值。
getParameter 在类中 com.iflytek.cloud.msc.module.SpeechInterface
key - 参数名称,所有支持参数,参考setParameter(String, String)
参数值,值意义,参考SpeechConstant 对各参数的说明。
setParameter(String, String)
#destroy
public boolean destroy()
destroy 在类中 com.iflytek.cloud.msc.module.SpeechInterface
销毁成功:true;销毁失败:false。
createSynthesizer(android.content.Context, com.iflytek.cloud.InitListener),stopSpeaking()
#接口SynthesizerListener
public interface SynthesizerListener
#合成监听器
SpeechSynthesizer.startSpeaking(String, SynthesizerListener), RecognizerListener
#方法概要
限定符和类型 | 方法和说明 |
---|---|
void | onBufferProgress(int progress, int beginPos, int endPos, java.lang.String info) 缓冲进度 SDK回调此函数,通知应用层,当前合成音频的缓冲进度。 |
void | onCompleted(SpeechError error) 结束 SDK回调此接口,通知应用,将结束会话。 |
void | onEvent(int eventType, int arg1, int arg2, android.os.Bundle obj) 合成会话事件 扩展用接口,由具体业务进行约定。 |
void | onSpeakBegin() 开始播放 SDK回调此函数,通知应用层,将要进行播放。 |
void | onSpeakPaused() 暂停播放 SDK回调此接口,通知应用,将暂停播放。 |
void | onSpeakProgress(int progress, int beginPos, int endPos) 播放进度 SDK回调此接口,通知应用,当前的播放进度。 |
void | onSpeakResumed() 恢复播放 SDK回调此接口,通知应用,将恢复播放。 |
#方法详细资料
#onSpeakBegin
void onSpeakBegin()
onBufferProgress(int, int, int, String), onSpeakProgress(int, int, int)
#onBufferProgress
void onBufferProgress(int progress,
int beginPos,
int endPos,
java.lang.String info)
SDK回调此函数,通知应用层,当前合成音频的缓冲进度。
progress - 百分比,当前已合成文本占当前会话全部文本的百分比。
beginPos - 文本开始位置,从0开始计数。
endPos - 文本结束位置,最大值为(textLen-1)。
info - 信息,暂不支持。
#onSpeakPaused
void onSpeakPaused()
SDK回调此接口,通知应用,将暂停播放。
onSpeakResumed()
#onSpeakResumed
void onSpeakResumed()
SDK回调此接口,通知应用,将恢复播放。
onSpeakPaused()
#onSpeakProgress
void onSpeakProgress(int progress,
int beginPos,
int endPos)
SDK回调此接口,通知应用,当前的播放进度。
progress - 百分比,当前待播放音频,占已合成音频数据长度的百分比。
beginPos - 文本开始位置。
endPos - 文本结束位置。
onBufferProgress(int, int, int, String)
#onCompleted
void onCompleted(SpeechError error)
SDK回调此接口,通知应用,将结束会话。
error - 错误信息,若为null,则没有出现错误。
SpeechSynthesizer.stopSpeaking()
#onEvent
void onEvent(int eventType,
int arg1,
int arg2,
android.os.Bundle obj)
扩展用接口,由具体业务进行约定。
eventType - 消息类型
arg1 - 参数1
arg2 - 参数2
obj - 扩展参数
SpeechEvent
修改于 2023-12-21 04:07:17