zoukankan      html  css  js  c++  java
  • 实现百度地图导航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));
  • 相关阅读:
    MySQL数据库导入方法(最佳方案--cmd命令行方式导入,不会导致数据结构或表丢失)
    MySQL:互联网公司常用分库分表方案汇总!
    主流的消息中间件有哪些?
    Java实现进制之间转换的工具类
    python查找文件夹下所有指定后缀名的文件
    Visual Studio检查内存泄露方法
    Linux重要文件被删恢复问题
    docker 安装与相关操作
    C++ 替换路径中斜杠 并获取完整路径的文件名
    catch2:一个好用的C++单元测试框架
  • 原文地址:https://www.cnblogs.com/whycxb/p/4850873.html
Copyright © 2011-2022 走看看