黄正宝
摘要:旅游市场迅猛发展,在移动应用的时代背景下,能够提供语音导游的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.
[通联编辑:光文玲]