语音合成

您所在的位置:网站首页 applewatch地图导航有语音吗 语音合成

语音合成

2024-06-08 19:24| 来源: 网络整理| 查看: 265

内置语音控制

导航SDK从v5.6.0开始在AMapNavi提供了内置语音功能,开启内置语音以后,导航SDK会使用SDK内部语音合成方案进行播报,外部无需关心语音播报相关内容。

内置语音开关接口:  

Java /** * 设置使用内部语音播报 * * @param isUseInnerVoice 是否使用内部语音播报, 默认为false * @param isCallBackText isUseInnerVoice设置为true以后,{@link AMapNaviListener#onGetNavigationText}接口是否继续返回文字,默认为false */ @Override public void setUseInnerVoice(boolean isUseInnerVoice, boolean isCallBackText)

如果您使用内置语音,可以使用如下接口来控制内置语音的播报行为:

Java /** * 开始内置语音播报,只有在使用内置语音的情况下才有效 * @since 6.4.0 */ @Override public void startSpeak() /** * 停止内置语音播报,只有在使用内置语音的情况下有效 * 注意:7.1.0版本以后,调用该接口,会停止播放导航语音,但是仍然可以播放自定义语音 * @since 6.4.0 */ @Override public void stopSpeak()

SDK 会通过AMapNaviListener类回调将播报的文字内容透传出来,如果您不想使用SDK的内置语音进行播报,也可以选择第三方的语音合成SDK(如:阿里云语音合成)将内容转化成声音信息,完成导航播报。以下是涉及到相关接口和回调:

Java /** * 导航播报信息回调函数。 * @param text 播报文字。 * @since 5.3.0 */ void onGetNavigationText(String text)

如果您使用自己合成的方式来进行播报,需要在每句播报前和播报完成后设置一下AMapNavi中如下接口,保证不出现语音打断和延迟问题。

Java /** * 获取当前SDK播报状态 * 注意:正在播报的时候请不要播报语音,会导致与导航的播报冲突。 * @since 6.4.0 * @return 如果正在播报语音,返回值为true,如果没有在播报语音,返回值为false */ public static boolean isTtsPlaying()自定义语音播报

如果您使用了导航sdk的内置语音,我们还提供了自定义语音的播报功能,可以根据您的需要,传入自定义的播报文案进行语音合成与播报。 

Java /** * 播放自定义文字,注意如果当前正在播放导航语音,可能导致播放失败,只在内置语音下生效 * * @param tts 要播放的文字 * @param forcePlay 是否强制进行播报 * true 如果当前有其他导航语音,会等导航语音播放完毕后播放该文字,但是可能导致导航丢失掉关键引导信息 * false 如果当前有其他导航语音,则不播报 * @return 播放是否成功 true 成功,false 失败 * @since 6.7.0 */ @Override public boolean playTTS(String tts, boolean forcePlay)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3