以前咱们已经有一篇文章讲了如何驱动鸿蒙小车,经过网络控制小车的运行。java
基于鸿蒙系统 + Hi3861 的wifi小车,能够经过电脑、手机控制json
这一篇咱们来试点不同的:使用语音控制鸿蒙小车。网络
附件提供能够直接烧录的鸿蒙镜像、修改后的手机java源码。app
这里咱们使用到的是讯飞的语音识别功能,你们能够打开这个网站,申请一个测试帐户:ide
https://www.xfyun.cn/services/lfasr?ch=bd01-b&b_scene_zt=1&renqun_youhua=648371 函数
通常来讲咱们申请体验包便可,(新用户礼包须要实名认证):post
领取完无偿使用后,咱们建立新应用。测试
应用名称这些本身根据需求填写网站
提交后,咱们单击应用,查看详情url
咱们下载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