百度地图导航tts语音静音问题的解决

一. 问题表述:

  • 导入了百度导航demo以后,注册了key,调用导航,看着地图规划页面,听着app里柔软的机器女声:”…到中关村xxx的路线….”,一阵轻松,说明调用成功,只要集成上去就ok了。

  • 集成到自己的项目里,debug签名时,导航和语音都正常;但打正式签名包时,导航路线正常,语音播报没了。

二. 搜索解决方案:

百度地图的论坛有不少类似问题的帖子,有几种解决办法:

  • 需要根据注册百度地图sdk的app_id和签名的md5注册tts语音白名单;
  • 初始化导航时需要填写app_id(集成百度地图sdk的app_id,而不是tts语音白名单的app_id)。
// 必须设置APPID,否则会静音  地图的appid
bundle.putString(BNCommonSettingParam.TTS_APP_ID, "9804011");

if 按照上面两步处理,你的两个包都有声音了,那恭喜你,下面的不用看了, else,继续听我唠叨:

下面直接说我的判断和解决办法

三. 判断:

经过一定数量的测试,发现只要在tts白名单注册了两个签名(debug,release两个签名),那么必定会有一个包的导航没有语音播放,也就是所谓的静音,一般是后注册的那个没声音。 看到这里,有同学要说了,删了一个,另外一个不就ok了,那我就好告诉你了,少年,你太年轻了。即使删了一个也没有用。而且如果你是不小心删掉了,还想再注册同样包名,签名的tts白名单时,系统提示你: already registered。

四. 最终处理:

* 根据以上不完全深入的试验和分析,这次我重新签了一个名,谨慎的注册了百度地图sdk的key,根据这个key又注册了一个发布版签名的tts语音白名单。*

这时候,debug包和正式签名包都能正常语音,那个曼妙的机器女声又回来销魂了。

另外附上一段写好的代码,功能见注释,略显丑陋,还请轻轻嘲笑:

/*** 点击'路线',跳转至导航,优先级:百度-->高德-->webapp<br/>* 也可以改成弹出选择对话框的交互(用户手动选择导航方式)*/
public void goChooseNavi(StationBean bean) {Log.i(TAG, "进入导航1");if (DataUtils.isPkgInstalled(context, "com.baidu.BaiduMap")) {DataUtils.gotoBaiduNavi(context, selectedLatLng, bean);} else if (DataUtils.isPkgInstalled(context, "com.autonavi.minimap")) {DataUtils.gotoGaodeNavi(context, selectedLatLng, bean);} else {routeplanToNavi(bean);}
}/*** 跳转到百度地图app进行导航,* @param context* @param selectedLatLng 起始点坐标* @param station  目的地对象实例*/
public static void gotoBaiduNavi(Context context, LatLng selectedLatLng, StationBean station) {if (station == null) {return;}// 调起百度地图app的方法3Intent intent = new Intent();String url = "baidumap://map/direction?" +"origin=latlng:"+selectedLatLng.latitude+","+selectedLatLng.longitude+"|name:我的位置"+"&destination=name:" + station.getStationName() +"|latlng:" + station.getBdLat() + "," + station.getBdLon() +"&mode=transit&sy=3&index=0&target=1";Uri uri = Uri.parse(url);//将功能Scheme以URI的方式传入dataintent.setData(uri);//启动该页面即可context.startActivity(intent);}/*** 跳转到高德地图app进行导航* @param context* @param selectedLatLng    起始点坐标* @param station           目的地对象实例*/
public static void gotoGaodeNavi(Context context, LatLng selectedLatLng, StationBean station) {if (station == null) {return;}Intent intent = new Intent();intent.setAction(Intent.ACTION_VIEW);intent.addCategory(Intent.CATEGORY_DEFAULT);String url = "androidamap://route?sourceApplication=amap&slat=" +selectedLatLng.latitude + "&slon=" + selectedLatLng.longitude+ "&dlat=" + station.getBdLat() + "&dlon=" + station.getBdLon() +"&dname=" + station.getStationName() + "&dev=0&t=1";Uri uri = Uri.parse(url);//将功能Scheme以URI的方式传入dataintent.setData(uri);//启动该页面即可context.startActivity(intent);
}/*** 是否安装了某款app*/
public static boolean isPkgInstalled(Context context, String packagename) {PackageManager pm = context.getPackageManager();try {pm.getPackageInfo(packagename, PackageManager.GET_ACTIVITIES);return true;} catch (PackageManager.NameNotFoundException e) {return false;}
}/*** 百度导航的demo里有这个方法,我就不写了*/
private void routeplanToNavi(StationBean station){// some code
}

百度地图导航tts语音静音问题的解决相关推荐

  1. html调用百度地图语音播报,实现百度地图导航演示的语音播放功能

    在上面,百度地图导航演示是本地导入的,那么如何在此基础上实现导航语音广播呢? 首先,为应用程序申请语音广播(也称为注册) SDK具有内置的百度TTS语音广播功能,在使用该应用程序之前,需要对应用程序进 ...

  2. 实现百度地图导航Demo的语音播报功能

    上文中实现了在本地导入百度地图导航Demo,那么在此基础上如何实现导航的语音播报呢? 一.为该应用申请语音播报(也叫注册) http://developer.baidu.com/map/index.p ...

  3. 百度地图——导航(地理编码输入地址获取经纬度)

    最近自己在学习百度地图和讯飞语音,这里自己整理点导航方面的.我用的是Android studio 可能和eclipse有点不一样但大体差不多. 一.主要文件 1.如何获取密钥等步骤自行查询百度官网.. ...

  4. ios百度导航SDK,iOS开发之百度地图导航

    若遇到疑难问题可以去   ios导航SDK 论坛问题  查看和反馈:http://bbs.lbsyun.baidu.com/forum.php?mod=forumdisplay&fid=37 ...

  5. 全球首推语音定制产品,百度地图背后的语音技术到底有多强大?

    文|李永华 来源|智能相对论(aixdlun) 地图APP的竞争日趋激烈,但往往都是你来我往,各大产品互有来回. 但现在,一些基于AI技术的颠覆性创意功能正在冒出,它们将成为竞争"杀招&qu ...

  6. 百度地图 key_Android百度地图导航的接入(包含驾车、公交、步行)

    百度地图导航的接入(包含三种选择方式驾车.公交.步行) 步骤 1.下载百度的sdk(下载地址:http://lbsyun.baidu.com/sdk/download) ​ 勾选下载"检索功 ...

  7. 百度地图导航Android6.0初始化失败解决方法

    自己开发的一个应用中用到了百度地图导航,刚开始开发是使用Android4.4做测试,一切正常,有一天用Android6.0手机跑了一下,提示导航初始化失败.赶紧下载官方的Demo看了一波,Androi ...

  8. 百度地图导航的接入(包含三种选择方式驾车、公交、步行)

    百度地图导航的接入(包含三种选择方式驾车.公交.步行) 步骤 1.下载百度的sdk(下载地址:http://lbsyun.baidu.com/sdk/download) 勾选下载"检索功能& ...

  9. webapp通过点击调用高德地图或百度地图导航

    webapp通过点击调用高德地图或百度地图导航 // 高德地图 <a :href="'https://uri.amap.com/marker?position='+经度+','+纬度+ ...

  10. 隐藏百度地图导航菜单栏

    在Android开发中,如果需要实现导航功能,我们可能会用到百度地图或者高德地图提供的API,百度地图导航界面大致是这样: 界面上方是导航路线信息,中间是导航地图,底部是导航的菜单栏,包括关闭导航的按 ...

最新文章

  1. oracle文件夹cwallet,Oracle Wallet
  2. ZeroC ICE java异步实现方式(ami/amd)
  3. Swift和Java在函数(method/方法)方面的比较
  4. Java新手问题 02 面向对象基本功
  5. 一些对制作网站有帮助的站点
  6. Apache的网页和安全优化
  7. 多线程编程(4) - 多线程同步之 Mutex (互斥对象)
  8. linux mysql提示1045_linux mysql ERROR 1045
  9. python除法运算定律_除法竖式算法的原理是什么?
  10. php转java还是python_我是应该继续学习php还是转JAVA Go Python?
  11. libtool: Version mismatch error
  12. RkConverter二进制报文解析工具
  13. 中文技术文档写作规范(汇总整理版)
  14. C语言基础入门,编程的第一步
  15. 随机效应估算与固定效应估算_固定效应还是随机效应——Hausman检验.PPT
  16. 计算机分享硬盘,共享磁盘是什么怎么设置
  17. PTA 水题之7-20 镜子碎了
  18. 案例:三个和尚(升级版)
  19. XZ_iOS之优秀网站推荐
  20. 绝对路径和相对路径的优缺点

热门文章

  1. php 正则 问号,正则表达式的问号需要怎样使用
  2. 我的世界服务器怎么做无限的弓,我的世界制作无限弓流程介绍
  3. 这表白代码让我虎躯一震!
  4. mysql-5.7 基础篇
  5. JQuery和javascript优秀插件收集
  6. 拼小圈营销群_拼多多拼小圈引流卖货全攻略
  7. poj 3295 Tautology
  8. ARPG游戏中怪物AI实现
  9. android短信过滤关键词,iOS 11的垃圾短信按关键词过滤功能使用介绍
  10. Java学习练习题11:Java习题及代码11