您现在的位置是:首页 > 文章详情

使用语音控制鸿蒙小车

日期:2020-11-26点击:400

之前我们已经有一篇文章讲了如何驱动鸿蒙小车,通过网络控制小车的运行。

基于鸿蒙系统 + Hi3861 的wifi小车,可以通过电脑、手机控制

这一篇我们来试点不一样的:使用语音控制鸿蒙小车。

附件提供可以直接烧录的鸿蒙镜像、修改后的手机java源码。

这里我们使用到的是讯飞的语音识别功能,大家可以打开这个网站,申请一个测试账户:

https://www.xfyun.cn/services/lfasr?ch=bd01-b&b_scene_zt=1&renqun_youhua=648371 

一般来说我们申请体验包即可,(新用户礼包需要实名认证):

领取完免费使用后,我们创建新应用。

应用名称这些自己根据需求填写

提交后,我们单击应用,查看详情

我们下载Android SDK包。

Android SDK包的使用可以查看文档。

下载完后,我们在 IatDemo.java文件的 public void onResult(RecognizerResult results, boolean isLast)  函数中添加我们控制小车的代码,如图:

我这边会提供我修改后的 IatDemo.java文件 ,大家替换即可。

编译app,然后得到安装包:speechDemo-debug.apk 。安装到手机。

安装后,我们选择“立即体验语音听写”,然后单击开始,说出关键字“前进”“后退”“向左”“向右”,即可看到小车做出相应的动作

代码解析:

其中比较重要的是发送小车控制指令,指令我们采用的是json格式,大家也可以根据自己需求,修改其它指令。

​ void send_car(final String msg) { clientThread = new Thread(new Runnable() { @Override public void run() { JSONObject address = new JSONObject(); try { address.put("cmd", msg); address.put("mode", "step"); } catch (JSONException e) { e.printStackTrace(); } try { InetAddress targetAddress = InetAddress.getByName("192.168.1.103"); DatagramPacket packet = new DatagramPacket(address.toString().getBytes(), address.toString().length(), targetAddress, 50001); client.send(packet); } catch (IOException e) { e.printStackTrace(); } } }); clientThread.start(); } [点击并拖拽以移动] ​

获取原文资源包

作者:连志安

想了解更多内容,请访问:
51CTO和华为官方战略合作共建的鸿蒙技术社区
https://harmonyos.51cto.com

 

 

原文链接:https://my.oschina.net/u/4857646/blog/4750889
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章