实现百度地图导航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));?
轉載于:https://www.cnblogs.com/whycxb/p/4850873.html
總結
以上是生活随笔為你收集整理的实现百度地图导航Demo的语音播报功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: error: Your local ch
- 下一篇: 【夸QT十一】外来物品:通用脚本帮助We