IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> Unity学习笔记-通过接入百度语音sdk实现语音唤醒功能 -> 正文阅读

[游戏开发]Unity学习笔记-通过接入百度语音sdk实现语音唤醒功能

通过接入百度语音sdk实现语音唤醒功能

上次研究语音唤醒已经不知道是什么时候了,在这里感谢互联网,让基本对安卓完全没基础的小白做到了这个功能
具体的代码实现在下面的这个帖子里可以说是很完整了(大佬可能是忘了还是懒得看,甚至appid啥的忘了打码)

https://blog.csdn.net/weixin_43271060/article/details/108381456

就是这个帖子,把从百度开账号到安卓代码,打aar包,配置文件里面的依赖和unity如何调用都写的一清二楚明明白白
小弟就是单纯的依葫芦画瓢,站在巨人的肩膀上而已,orz.只能说大佬们真的太强了
这里我会说下自己在跟着帖子做的时候的心路历程和过程遇到问题是如何解决的

第一步

在百度智能云里开通账号,在语音技术里创建应用
Tips在创建的时候记得勾选包名 Android以及写上自己的包名
在这里插入图片描述
如果你不需要用到语音唤醒那么可以不用加包名,如果要用到的话一定要有包名,这个在上图的右边有写上原因
在实际的操作中我遇到的一个问题就是语音识别没问题,但是语音唤醒死活整不出来,看日志上面显示的是百度的错误码11002,查看官方文档是没有授权文件
在这里插入图片描述
也就是上图说的包名是一定要正确的.也就是在百度里设置的包名安卓里aar项目里的包名unity里真机打包出来时设置的包名
只有这三个的包名都是一致的情况下,sdk才会在联网的时候去申请授权文件,唤醒的功能才能算是正式激活
这是个巨坑,我卡在这个地方大概有一个多小时,全靠百度看大佬们的帖子才发现的这个问题,不过大佬们都没有提及到的就是unity里playersetting的包名也是要和百度里设置的一样的,不然就会有问题.为啥我会联想到unity的包名就是因为大佬们的帖子里都在说安卓和百度的包名一致,说明他们的环境不包括unity,但是我的项目就是unity的,所以才会想起来unity里也是需要保持包名一致的
至于为啥上面提供的帖子里没有特别注明,现在想想是因为帖子里有一个关于签名的方法和aar打包的方法,这两个东东大佬是引用了另一个帖子来解决的,在那个帖子里我记得是有说明安卓和unity的包名必须一致的.所以可能大佬那个时候已经是在包名一致的情况下去做的这个项目,所以没有遇到这个问题,也才没有特别提出.

其实第一步已经把我自己在实际操作中遇到的最难的问题解决了,所以这后面的我没啥好说太多的

第二步

新建一个as项目,这里大佬也没有特别说明,我就用了之前自己新建的模式去建了,没啥问题
在这里插入图片描述
这是新建的项目里的结构
因为我们最终是从as 里打包出一个aar包到unity里,所以我们还需要在这个项目里面新建一个module
这个有一点安卓基础的应该都不难
在这里插入图片描述
然后选Android library就可以了
在这里插入图片描述
这里新建了module之后的结构

第三步

解压下载的压缩包到任意目录下,然后把里面的一个jar包引入到刚才建的module中,记得添加引用(大佬的帖子里都有说,我就不多说了)在这里插入图片描述就这个包
哦这个提一嘴,如果是新项目的话,还需要在这里面添加一个和unity关联的jar包,因为需要给unity发送消息需要用到这个包里的方法
所以一共我们需要用的包是两个
在这里插入图片描述

unity的这个包百度一下会有很多告诉你在哪里拿这个包的,不过还得注意一下,不同的unity版本,这个包在所在的位置是不同的喔,记得留心
我用的是2019的,在前面我写的安卓unity相互跳转的帖子里有说道具体的路径位置
嘛,不过这个unity的jar包最后打包出来的时候是需要删掉的,不然在unity打包成最终的apk的时候会失败,因为unity自己就有这个jar包了,你又在这个aar里重复用,unity在打包项目上的时候会不知道到底用谁导致报错,无法打包

第四步

敲java代码,这里我完全是cv大法完成的,过程没有加入自己的一点灵魂
照着帖子做就可以了,遇到引用报红的时候先不急,把所有代码都写进入之后再引用就可以了
这里也有一个小地方需要注意的
帖子里说的
在这里插入图片描述
这里编写的是新建的module里的这个文件,不是一开始新建项目自带的app里的同名文件
然后可能有三个类的引用会有红波浪线,那个可以忽略它, 在实际的应用中是没有影响的

第五步

打aar包
这个因为小弟之前打过好几次了,所以这个就相对比较熟练
在这里插入图片描述
找到module里的bulid.gradle,然后添加右面的那个代码,sync一下
然后在右边点gradle会弹出下图的框,找到你的module名称,点击里面的other,然后找到刚才代码里敲的方法名,我这里写的和帖子大佬里写的一样,双击右边的那个方法就可以开始打包了
在这里插入图片描述
可能是之前打包过,所以没有遇到什么问题,如果在打包过程中遇到问题的话可以参考帖子大佬最后发的那个链接,里面有很多解决打包遇到的问题的方法

第六步

找到这个路径里-release后缀的aar包,这个就是我们需要的了
注意前面说了需要删掉aar包里的unity-classesjar包,不然后面unity打包回报错
怎么删很简单,先把这个包后缀改成zip,然后双击打开,找到libs,然后把里面的这个unity的jar包删掉,再把后缀改回aar就可以了

#@ 第七步
导入unity的路径,需要放置在下图的路径里,如果是新项目就自己创建文件夹就好了
在这里插入图片描述

第八步

unity这里的代码我也是直接cv大法大佬的基本没有改过
可能需要自己在类里声明一个AndroidJavaObject这个类其他的没啥
不过确实有可以优化的地方.嘛这个问题不大
不过这里帖子大佬没有说的一个就是这个类不是单纯的挂载到场景中的对象就可以了
还需要在start或者awake里去调用唤醒的方法
并且,如果前面安卓代码和我一样是直接复制粘贴没有注意看代码的话,等你在打包的时候一定是会出问题的,你会发现死活接受不到安卓回传的信息
这里大佬是没有特别说要注意的
我也是在自己之前和安卓工程师对接的时候知道的,就是as在代码里通过unity代码向我们发送消息的时候,是需要场景中某一个对象作为载体的,通过名称去找到这个载体,然后找到载体上挂载的方法去回传信息给unity
在这里插入图片描述
像这里,大佬写的对象就是叫NetLogic,然后调用的方法名叫WakeupResult
所以在unity里你的场景里也必须要有这个对象名才可以实现消息的互通
嘛,这个仔细想想的话自己在做安卓和unity消息互通的时候已经试过了,只是当时一次就成功了就没多留意

到这里基本就结束了我在实现语音唤醒功能中的流程了
希望能对大家有所帮助

感谢以下帖子
虽然没有实际解决我的问题,但给我的灵感和启发都是至关重要的

https://blog.csdn.net/qq_45137584/article/details/115443437

https://www.jianshu.com/p/a9ae5d3333d2

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-09-04 17:52:40  更:2021-09-04 17:53:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年6日历 -2024/6/3 6:53:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码