示例中心
功能在线体验
控制台

高德 开发 Android 导航SDK 开发指南 语音播报 语音合成

更新时间:2018年07月05日

从导航SDK v5.6.0开始,提供了内置的语音播报功能,开发者可以选择直接使用SDK内置的语音播报;或者使用导航SDK回调的文字内容,使用第三方的语音合成SDK将此内容转化成声音信息,完成导航播报。高德提供科大讯飞在线语言播报包接入的示例。

导航文字回调

导航 SDK 中透传文字的回调方法见下表。

类名

导航文字回调

AMapNaviListener

onGetNavigationText(int type, java.lang.String text)

内置语音播报

以下部分从导航SDK v5.6.0版本开始提供。

内置语音启动方式

可通过AMapNavi.setUseInnerVoice(true) 开启内置语音功能。方法如下:

AMapNavi mAMapNavi = null;
mAMapNavi = AMapNavi.getInstance(this);
mAMapNavi.setUseInnerVoice(true);

以下内容从导航SDK v6.3.0版本开始提供。

语音播报品质控制

可通过 AMapNavi 类提供的 setSoundQuality 方法设置在线语音播报质量,语音播报支持高品质和低品质,默认低品质,可通过该方法切换成高品质。

切换使用离线语音

可以通过 NaviSetting 类提供的 setUseOfflineVoice 方法启动使用离线语音播报功能。使用离线语音需要下载离线语音播报模块,会消耗一定的用户流量。

在上一步设置之后,可以通过 NaviSetting 类提供的 setIgnoreWifi 方法设置是否允许在移动网络环境下获取离线语音播报模块。

第三方语音播报

如果您选择使用科大讯飞的 在线语音合成 SDK,需要您前往讯飞开放平台申请appid进行绑定。可以参考导航Demo中提供的 TTSController.java 类中的如下方法进行绑定。

 SpeechUtility.createUtility(mContext, SpeechConstant.APPID + "=" + appId);

注意:此为免费版的在线语音合成SDK,您申请在线版本的appid即可,如果您需要使用付费的离线版语音合成SDK,请联系科大讯飞。

在此强烈建议您以您的公司(或个人)名义申请科大讯飞语音合成SDK的appid,导航SDK示例中提供的科大讯飞语音合成SDK的appid仅供测试使用,每日语音合成使用次数有限,大量用户使用会直接影响语音播报的成功率。

移动端
示例中心
功能
在线体验
常见问题