黃正寶



摘要:旅游市場迅猛發展,在移動應用的時代背景下,能夠提供語音導游的APP卻少之又少。基于此種情況,論文主要介紹了基于Android的語音導游系統的設計與實現,提供語音實時導游,當地特色商品、美食、文化活動推薦,個人出行計劃制定,個人旅游全程記錄分享等功能,成為用戶自助旅游的隨身好幫手。
關鍵詞:語音導游;Android;TTS;百度地圖
中圖分類號:TP393? ? ? 文獻標識碼:A? ? ? 文章編號:1009-3044(2018)35-0085-02
1 概述
隨著人們生活水平的提高,旅游出行成為越來越多的人的生活中的一部分。在這個追求自由和個性化的時代,自由行成為很多人的首選,但這些游客對景點的文化背景、歷史典故等的了解需求不能很好地得到滿足。雖然在互聯網+的背景下,許多旅游相關的APP也應運而生,但這些大都只是提供在線預定或旅游攻略等服務。在此背景下,本文設計開發一款能夠進行提供語音導游和相關服務的APP,以解決上述存在的問題。
2 需求分析
系統主要包括以下功能需求:
1) 景點推薦與搜索。根據定位城市推薦當前城市主要景點,并顯示景點主要信息,包括距離、所在方位和門票價格,可以通過文字查看主要景點信息,并直接播放語音簡介,在景點描述頁還可以查看景點方位以及提供景點導航,多種選擇方式進行導航,用戶可以結合自身需要搜索相關景點。
2) 語音導游功能。通過語音播報,為用戶提供景區和內部景點的語音介紹,為用戶提供個性化的導游服務。
3) 好友交互功能。可以查詢附近10千米范圍內使用該APP的用戶,查看該用戶信息,并提供聯系功能,交友聊天。
4) 制定出行計劃。進行出行計劃的制定和管理,并給用戶以提醒。
5) 發布動態。可在旅行過程中,發布照片和感想,分享發布到微信朋友圈或QQ空間。
6) 設置中心。可以設置個人信息、語音播報發音人以及版本更新等。
3 系統設計
3.1 功能模塊設計
根據前述的需求分析,系統的功能模塊包括語音導游模塊、出行計劃模塊、交互模塊、信息設置模塊等四大模塊。其中語音導游模塊是系統的核心功能,包括景點推薦、景點搜索、語音介紹、周邊服務等;出行計劃模塊包括計劃制定、計劃刪除、提醒服務等;交互模塊包括附近搜索、添加好友、好友會話、發布動態等;信息設置模塊系統功能配置、個人信息設置等。系統功能模塊圖如圖1所示:
3.2 系統流程設計
用戶首次安裝APP后打開本系統,首先會進入歡迎導航引導頁,然后進入登錄界面;如果不是首次安裝會直接進入主界面,系統自動判斷是否登錄過APP,如果并非登錄,彈窗通知并可以跳轉登錄界面進行登錄,登錄后可以進入APP進行功能的使用。系統流程圖如圖2所示:
3.3 接口設計
系統在APP端的各種操作,都通過與后臺服務器交互完成,包括信息的查詢、業務的操作等。通過APP端調用后臺各項功能的時候,通過JSON格式的數據進行交互,也就是說,所有接口都采用JSON數據格式封裝請求參數和返回值。
4 系統主要功能實現
4.1 服務器端功能實現
服務器端使用Spring MVC開發技術實現,主要功能是對數據庫的操作。客戶端前臺通過HttpURLConnection訪問后臺接口時提供必要的參數,后臺通過Http通信協議接收請求參數,查詢相應的數據庫內容或更新數據庫的內容,然后返回一定的標識到客戶端前臺。
本系統使用騰訊云主機作為云端主機掛載后臺服務器端,使用云主機掛載后臺相當于發布在網絡中,然后將mysql數據庫遷入云主機中,這樣完成后臺對數據庫的操控并且APP可以通過外網就可以對后臺進行訪問,并且云主機的搭建極為簡單,使APP能夠徹底分離物理主機。
4.2 APP端功能實現
1) 主界面
主界面是用戶進入系統的第一個展示頁面。用戶打開APP時會先進入一個緩沖頁面,該頁面進行相應的數據讀,取判斷APP是否打開過,當沒有打開時會顯示出歡迎頁,使用左滑的方式切換歡迎頁的圖片,最終進入主界面。該頁面是通過內嵌于Activity中的Fragment來實現,它展示了系統APP端的核心功能模塊:周邊服務,景點推薦,附近吐槽,以及我的足跡。同時,還包括城市的選擇,利用百度地圖的定位顯示當前所在的城市并保存起來,還有頂端的景點搜索功能,可以快捷地搜索景點,如圖3所示:
2) 語音播報
項目的核心功能就是語音功能,本系統中語音功能分為兩個部分,一個是文字轉語音的播報,另一個是語音轉文字的輸入。實現過程中,通過調用訊飛開放平臺集成的SDK實現。文字轉語音應用在景點播報功能,從云主機的數據庫中取得景點詳細信息并調用SDK提供的方法通過網絡轉變為mp3音樂進行播放;語音轉文字技術是當用戶點擊時錄入語音直接轉變文字錄入輸入框,減少了用戶直接輸入的麻煩。
3) 定位和周邊雷達搜索
定位和周邊雷達搜索也是系統的核心功能。這里采用百度地圖SDK實現個人信息的定位并進行保存,通過百度雷達功能,將APP標識+個人信息實時上傳并且查詢周圍別的使用同一個APP的用戶的信息將其顯示出來,周邊雷達的本質是一個連接百度LBS開發平臺前端SDK產品和后端LBS云的中間服務,如圖4所示:
4) 用戶注冊和好友會話
這兩個功能的實現,引入了第三方應用開發平臺—LeanCloud開發平臺,該平臺為應用開發提供了一站式的解決方案,能夠加快應用開發進程,甚至解決后端的數據存儲、用戶管理等問題。該使用該平臺提供的免費短信接口實現用戶注冊功能,通過驗證碼的驗證判斷進行用戶的注冊;同時,使用云平臺數據存儲功能和實時聊天服務,能夠快速地搭建起聊天環境,通過APP的雙向用戶存儲將用戶信息同時存儲在云平臺和云服務器端的數據庫中,達到用戶的信息同步,將用戶聊天記錄等存儲到云平臺,方便快捷而且處理速度更快。
5) 第三方平臺登錄
系統中的登錄分為普通登錄和第三方登錄。普通登錄可以選擇手機號/賬號以及密碼進行登錄,通過網絡接口訪問查詢賬號密碼是否正確,根據返回值進行判斷是否成功。
第三方登陸通過申請騰訊開發者賬號獲取調用第三方登錄的必要“秘鑰”,使用QQsdk調起QQ進行登錄,授權后判斷QQ是否已經綁定了手機號,如果沒有,則通過回調的方式獲取該用戶的QQ標識符(openid)并綁定手機號,使用shareprefence進行登錄狀態的記錄。當忘記密碼時,使用找回密碼功能,驗證手機號和驗證碼之后直接設置新的密碼進行登錄。
5 結束語
本系統主要針對精打細算,喜歡個性化旅游的人群,以便捷、新穎、有趣為設計理念,將APP打造成一個制造快樂,分享信息,增進互動交流的旅游攻略產品。它根據用戶位置定位和變化,對用戶所處的景點,采用語音、圖片等手段進行詳細講解,同時提供在線聊天功能,讓用戶隨時隨地參與進來相互交流。根據用戶旅游的不同時段,及時準確地向客戶推送性價比較高的產品和最優質的信息。此外,提供旅程分享,用戶可以將行程的美景在線分享。全方位提高使用者個性化旅游體驗的質量。在旅游過程中,還可以開啟定位分享,將自己周圍的用戶搜索到,并且可以進行交流。如何給用戶更好地使用體驗,實現和用戶的雙向語音交互,是后續研究的目標。
參考文獻:
[1] 徐宜生.Android群英傳[M].北京:電子工業出版社,2015.
[2] 郁亞男. 基于Android平臺的人際交互的研究與實現[D].北京:北京郵電大學,2011.
[3] 張雨柔,孫蕾,龐學明,等. 基于百度地圖的語音導游APP的設計與實現[J]. 工業控制與計算機,2015,28(8):122-126.
[4] 陽俊,吳鳴,何騫.基于Android的語音識別系統[J]. 信息與電腦:理論版,2017,17(11):123-124.
[5] 鄭翠,王彩萍.基于Android的江蘇農博園自助導游系統的設計與實現[J].電腦與信息技術,2016,24(4):49-51.
[6] 韓文智,駱文亮.Android平臺的移動APP開發方法與應用研究[J].四川理工學院學報:自然科學版,2015(3):22-26.
[通聯編輯:光文玲]