首页 > 移动平台 > 详细

12-5【打通Flutter与Android的任督二脉】Flutter Plugin开发指南-Android端实现-1

时间:2020-02-15 13:48:18      阅读:323      评论:0      收藏:0      [点我收藏+]

建议先学
技术分享图片
已经实现好了这几个类。
技术分享图片

技术分享图片

首先以安卓模式来打开我们的项目
技术分享图片
在asr这个目录下,导入几个类
技术分享图片
这几个类其实是下载的百度AI语音demo里面所提供的,里面已经提供了对百度AI的使用
首先复制这个IRecogListener
技术分享图片
IRecogListener复制过来改个名字叫做OnasrListener
技术分享图片
技术分享图片

这里用到了RecogResult
技术分享图片
从demo工程里面导入RecogResult
技术分享图片
直接复制过来即可
技术分享图片
导入RecogEventAdpter
技术分享图片
导入后,这里的Listener需要改成OnAsrListener
技术分享图片
全局替换
技术分享图片
这里的日志的引用删除
技术分享图片

这里的MyLogger修改为
技术分享图片
修改为Log.e 
技术分享图片
还有其他的地方有,都替换为Log.e
技术分享图片

创建管理类

处理录音的管理类
技术分享图片
技术分享图片
我们创建的类参考百度的例子里面的MyRecognizer
技术分享图片
把MyRecognizer这个里面的代码否复制到AsrManager类里面。
技术分享图片
根据提示导入对应的包
技术分享图片
参考demo 的类里面的包引用 复制过来
技术分享图片
复制过来后,把无法识别的去掉。
技术分享图片
创建一个TAG
技术分享图片
技术分享图片
批量替换一下
技术分享图片
这里删除
技术分享图片
这里删除
技术分享图片
删除
技术分享图片

技术分享图片
构造方法的名字要改过来
技术分享图片
log修改为系统的log
技术分享图片
修改为Log.e
技术分享图片
这里的Listener创建为一个
技术分享图片

技术分享图片
技术分享图片
这行代码删除掉。
技术分享图片
参数这里保持一致
技术分享图片
离线的方法我们不需要,这里直接删除
技术分享图片
log修改 为下面。
技术分享图片
stop方法也修改
技术分享图片

cancel方法

技术分享图片
release这段代码不需要
技术分享图片
下面这个也删除。
技术分享图片
AseManager已经实现好了。就是用来调用百度的语音SDK来完成开始录音、停止录音以及取消录音。还有释放资源这几个方法。

为AsrManager设置Plugin

因为我们的flutter还不能直接的调用它,需要通过我们的中间件。起名叫做AsrPlugin
技术分享图片
接下来重点来实现AsrPlugin。这里需要用到MessageChannel

实现一个接口,这里还没有任何的提示
技术分享图片
这是因为我们这里还没有添加flutter的依赖。
技术分享图片
我们来添加对flutter的依赖,这样我们才好在里面开发plugin。

App是怎么依赖Flutter SDK的

首先我们这个App项目里面依赖了flutter
技术分享图片

app的gradle里面配置了这样一段代码
技术分享图片
配置了以后 最终得到了FlutterRoot
技术分享图片
通过FlutterRoot得到了flutter这样一个脚本。让我们当前的gradle来应用这样的脚本。这样我们的App项目就依赖了Flutter SDK了。
技术分享图片
技术分享图片

参考App

复制app的这段代码
技术分享图片
复制过来
技术分享图片

技术分享图片
这里也需要复制
技术分享图片
技术分享图片
sync同步
技术分享图片
查看Model有没有对Flutter依赖成功。首先我们调用Flutter里面的一个类,如果调用成功了就表示已经依赖成功了。
技术分享图片
它就是flutter包下面的。这就说明我们在这个module里面已经成功的依赖了flutter的SDK
技术分享图片
实现接口内的方法
技术分享图片

解决两个模块之间都引用flutter sdk的冲突

两个module同时依赖了flutter。app这个Module又同时依赖asr_plugin这个module,他们两个之间的flutter sdk就会冲突。那么怎么解决这个冲突呢?
技术分享图片

首先打开app这个模块的gradle。配置一下,让它对flutter依赖不冲突。
技术分享图片
需要进行两步修改,
第一步,在继承sdk的时候,导入了三种架构的目录。对abiFilters过滤这三种包,也就是只打这三种架构的包。加入X86是因为模拟器只支持X86的架构
技术分享图片
技术分享图片
技术分享图片

第二步:
添加打包的配置
技术分享图片
也就是打包的时候会出现两份so。我们只取一份。
技术分享图片
配置好以后进行同步
技术分享图片

结束

 

12-5【打通Flutter与Android的任督二脉】Flutter Plugin开发指南-Android端实现-1

原文:https://www.cnblogs.com/wangjunwei/p/12311159.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!