android司乘同显sdk | 百度地图api sdk-凯发k8官方旗舰厅

凯发k8官方旗舰厅-凯发app官方网站
全部服务产品
开发者频道
服务升级
登录
tts语音播报
下载开发文档

为了能够让导航正常进行语音播报,还需要对tts模块进行初始化,百度导航sdk支持两种tts实现方案,即内置tts和外置tts。
使用tts语音播报功能需要额外申请ak,申请步骤见【工程配置-sdk和tts授权申请配置】详细介绍

内置tts

当使用内置tts接口初始化时,表示将使用内置tts模块,此时app工程需要集成tts module,同时设置申请配置过的tts appid。

内置tts初始化

在进入导航之前需要初始化tts语音,初始化方法是:

/**
* @param activity activity引用
* @param sdcardrootpath sd卡根路径
* @param appfoldername app 文件夹名称
* @param appid app id
* @param outttslistener 外部设置的tts监听器,也就是外部tts方案
*/
voidinittts(final activity activity, final string sdcardrootpath, final string appfoldername, final string appid, final ibnouterttsplayercallback outttslistener);"

示例如下:
注意:参数appid是在语音平台申请的id。(具体申请请见配置页面)

// 注册同步内置tts状态回调
baidunavimanagerfactory.getttsmanager().setonttsstatechangedlistener(
newibnttsmanager.ionttsplaystatechangedlistener(){
@override
publicvoidonplaystart(){
log.e("bnsdkdemo","ttscallback.onplaystart");
}
@override
publicvoidonplayend(string speechid){
log.e("bnsdkdemo","ttscallback.onplayend");
}
@override
publicvoidonplayerror(int code,string message){
log.e("bnsdkdemo","ttscallback.onplayerror");
}
}
);
// 注册内置tts 异步状态消息
baidunavimanagerfactory.getttsmanager().setonttsstatechangedhandler(
newhandler(looper.getmainlooper()){
@override
publicvoidhandlemessage(message msg){
log.e("bnsdkdemo","ttshandler.msg.what=" msg.what);
}
}
);
外置tts

外置tts初始化

baidunavimanagerfactory.getttsmanager().inittts(mibnouterttsplayercallback );

注意:当使用外置tts能力时,一定要正确返回getttsstate()接口的返回值,百度导航sdk内部将根据该值判断当前tts模块状态,是否能够进行播报,其返回值类型如下:

ibnttsmanager.ibnouterttsplayercallback.player_state_not_init;//未初始化
ibnttsmanager.ibnouterttsplayercallback.player_state_idle;// 空闲
ibnttsmanager.ibnouterttsplayercallback.player_state_playing;// 播放中
ibnttsmanager.ibnouterttsplayercallback.player_state_pause;// 暂停
ibnttsmanager.ibnouterttsplayercallback.player_state_error;// 错误

上一篇

导航相关设置

下一篇

个性化样式控制

本篇文章对您是否有帮助?

网站地图