实现百度地图导航Demo的语音播报功能
上文中实现了在本地导入百度地图导航Demo,那么在此基础上如何实现导航的语音播报呢?
一、为该应用申请语音播报(也叫注册)
http://developer.baidu.com/map/index.php?title=android-navsdk/guide/voice
SDK内置百度TTS语音播报功能,需要对应用进行授权验证才能够使用,因此需要主动注册应用相关信息。
第一步:如果不是LBS开放平台的注册开发者,首先需要登录LBS开放平台进行应用注册,在工程配置的AndroidManifest中有描述。已经完成注册的开发者请直接进入下一步。【上篇文章中已经完成】
第二步:然后需要在导航TTS平台中进行注册申请。 注意此处的应用签名为MD5,AK为在LBS开发平台申请到的AK。MD5签名仅包含字母,不包含分号,获取方法如下:【此方法适用于签名后的apk,如果只是调试用,则直接使用eclipse——Preferences——Android——Build中的MD5签名信息】
PS:为了避免注册时弄错签名,建议直接用打包出来的apk查看签名,具体如下:
1) 将apk修改后缀为 .rar文件后解压;
2) 进入解压后的META-INF目录,该目录下会存在文件CERT.RSA
3) 在该目录下打开cmd,输入命令 :keytool -printcert -file CERT.RSA
这里将会显示出MD5和SHA1签名。
注意:
1、此处的MD5签名应该和在LBS开放平台注册的应用使用的SHA1是一对。【暂未验证过签名后的apk是否可以正常运行,如果不可以正常运行的话,就需要根据签名后的SHA1注册一个新的应用(LBS和TTS平台)】
【1.1、第一步的时候,在LBS开放平台上注册应用的时候,如果使用的是Eclipse——Preferences——Android——Build中的SHA1信息,那么代表这个应用的调试版本;如果是通过上面命令行的方式查找到的apk中的SHA1信息,则代表这个应用的签名版本。(使用的SHA1不同,则生成的AK不同!)
1.2、第二步的时候,在导航TTS平台上注册应用的时候,需要输入MD5和AK信息,而AK信息是和SHA1关联的,所以就需要保证MD5和SHA1关联。所以就需要注意MD5的获取了。
1.3、上一篇中我使用的eclipse中查看的SHA1签名,所以此处我使用的也是eclipse种的MD5信息。
】
2、注册TTS白名单应用是输入的MD5是去除掉冒号(:)的内容。



二、在本地的百度地图导航Demo中修改为模拟导航
修改BaiduNaviManager.getInstance().launchNavigator中的true为false。
/*发起算路操作并在算路成功后通过回调监听器进入导航过程.
*参数:
*activity - 建议是应用的主Activity
*nodes - 传入的算路节点,顺序是起点、途经点、终点,其中途经点最多三个,参考 BNRoutePlanNode
*preference - 算路偏好,参考RoutePlanPreference定义 [推荐:1,高速优先(用时最少):2,少走高速(路径最短):4,少收费:8,躲避拥堵:16]
*isGPSNav - true表示真实GPS导航,false表示模拟导航
*listener - 开始导航回调监听器,在该监听器里一般是进入导航过程页面
* */
BaiduNaviManager.getInstance().launchNavigator(this, list, 1, false, new DemoRoutePlanListener(sNode));
实现百度地图导航Demo的语音播报功能的更多相关文章
- 关于百度地图导航AndroidSDK的初始化问题
使用百度地图有一段时间了,导航是一个一直困扰我的问题.今天刚发现百度地图的导航SDK并不是对Android6.0版本不兼容.而是对某一部分手机不兼容,准确的说是对X64或X86的cpu不兼容.下载百度 ...
- H5调用百度地图导航
template <div class="map"> <div class="content_flex"><img src=&qu ...
- 百度地图API 批量添加 带检索功能的信息窗口
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- java文字转语音播报功能的实现方法
java文字转语音播报功能的实现方法 一.pom.xml引入jar包依赖 <!-- https://mvnrepository.com/artifact/com.jacob/jacob 文字转语 ...
- JS 百度地图导航
上一篇文章中我们就简单的学习了HTML5 地理定位,那么今天告诉大家我在项目中遇到的一个问题吧,就是怎么实现点击一个按钮就可以调到百度地图,并且获取到你当前的位置,并且导航到指定的地方去. 不想看步骤 ...
- iOS开发之百度地图导航
本篇主要讲述百度地图的导航功能: 第一步:在使用百度导航之前,我们需要在百度地图开放平台上下载导航的 SDK,共85.8M,网速不好的同学可提前准备好. 第二步:引入导航所需的系统包 将AudioTo ...
- 百度地图的demo提示key验证错误!错误码:230;
在已经有BaiduMap的APIKey后使用AndroidStudio导入Baidu地图的as版的demo,提示key验证错误!错误码:230; 首先,因为百度地图demo中用自己的keystore文 ...
- Android Studio 百度地图导航
配置就不再多说了,上一篇已经详细说过了,这次就是根据经纬度坐标做地图导航,路径规划.直接上代码: package com.example.appview.mian_page.Frament.Anzhu ...
- 百度地图足迹demo(多点轨迹生成)
不要忘记引用JQuery//~~~<script src="jquery-1.7.1.min.js" type="text/javascript"> ...
随机推荐
- ASP.NET_验证控件(class0620)
为什么使用验证控件 当需要让用户输入数据时,用户有可能输入不符合我们程序逻辑要求的信息,所以我们要对输入进行验证. 客户端验证(用户体验,减少服务器端压力) 服务器端验证(防止恶意攻击,客户端js很容 ...
- 一个HR给应届毕业生的面试建议 后悔看到的太晚了 (转)
开始之前务必记住: 黄金法则:80/20---你要承担起80%的谈话而面试官只会说20%. 白金法则:你必须试着控制面试的节奏和话题. 钻石法则:对于没有把握的问题,抛回给面试 ...
- C# 多个个Dictionary合并更优雅的写法
Dictionary 现在有两个Dictionary的对象,想把两个对象的中数据合并成一个. 使用for循环的话觉得非常不合适,于是考虑是否有相应的方法,网上找了很多,都是for循环,最后终于找到了一 ...
- jqgrid在页面出来竖型滚动条自动调整列宽
在项目中使用jqgrid的时候,需要设置在页面竖型滚动条出来的时候,列宽进行调整 1. 判断jqgrid的宽度是否和页面的宽度不一致(判断滚动条是否出来) 2. 调整jqgrid的列宽,因为jqgri ...
- Delphi XE5 安卓手机要求
1 ARMv7 的 CPU v6 的肯定不支持. 2 黑屏是因为你的手机 CPU 不支持 NEON 特性.或者是 T2 海思 CPU .这 2 个不支持. 3 系统版本 2.3.3 到 2.3.9 ...
- 关系数据库 范式(NF: Normal Form) 说明
关系数据库 范式(NF: Normal Form) 说明 数据库电话insertdelete存储oracle 目录(?)[+] 一.范式概述(NF:NormalForm) 数据库的设计范式是数 ...
- 封装的多功能多效果的RecyclerView
开源界有一句很有名的话叫"不要重复发明轮子",当然,我今天的观点不是要反驳这句话,轮子理论给我们的开发带来了极大的便利,.但我想说的是,既要会用轮子,也要知道轮子怎么造,必要的时候 ...
- ssh免密码登录记录
做mha.hadoop安装过程中都要用ssh免密码登陆,查过一些资料,踩过很多坑,下面用简单记录一下 首先要安装ssh linux : centOS 6.5 yum -y install *ssh* ...
- 【转】MyEclipse8.5集成Tomcat7时的启动错误:Exception in thread “main” java.lang.NoClassDefFoundError org/apache/commons/logging/LogFactory
http://www.cnblogs.com/newsouls/p/4021198.html 今天,安装Tomcat7.0.21后,单独用D:\apache-tomcat-7.0.21\bin\sta ...
- 用Bootstrap 写了个站点
近期发现vdceye的站点有些丑陋,就找了一个bootstrap工具,又一次把站点写了一遍 这个工具果然好用 http://vdceye.com/