这几天产品说我们的项目要做一下语音导航的功能,听到这个消息首先是高兴的,因为之前自己确实没有做过语音导航功能(就做过一些简单的定位,路线规划,路径选择等),这也是自己的第一篇帖子,激动!下面总结一下这几天做下来后我自己的个人经验:
先看一下完成后的效果图,和从百度下载的Demo是一样的(强调一点:下载好的工程导入到studio后还是不能直接用的,还需要自己去申请AK然后配置到自己的manifest文件中,Demo中自带的不能用):
一. 然后我们开始配置自己的工程主要分为一下几步:
1. 解压自己下载的zip后又得到三个zip,解压lib那个里边有三个文件夹(assets,libs,一个txt说明文件),然后开始导入。
2.打开自己的工程并切换到Project,然后将解压后得到的libs中的jar全部导入到自己工程的libs下(粘贴复制并加依赖)。
3.还是在Project结构下,在app->src->main下建立jniLibs目录,然后添加解压后得到的libs下的二进制文件armeabi进去(下载的Demo中没有其他的格式,可以自己找一下)。
4.还是Project结构下,在app->src->main下直接复制解压后得到的assets文件夹。
以上四步已经是工程的全部配置,然后接下来需要去开通一下语音播报服务(也就上网上说的tts白名单注册,点击打开链接)。
二. 接下来我们来看一下工程代码(这里我们就不讲的太详细了,主要将两个方法,后边会看到):
看过Demo以及百度官方api我们可以了解到实现导航功能主要需要一下几步:
1.首先准备一个文件夹用来存储导航过程中可能需要的缓存数据,后边要用到。(注意安卓6.0后的动态权限问题)。
2.文件夹建立好后,我们开始初始化导航,调启