使用語音控制鴻蒙小車
https://harmonyos.51cto.com/#zz
之前我們已經有一篇文章講了如何驅動鴻蒙小車,通過網絡控制小車的運行。
基于鴻蒙系統 + Hi3861 的wifi小車,可以通過電腦、手機控制

這一篇我們來試點不一樣的:使用語音控制鴻蒙小車。
附件提供可以直接燒錄的鴻蒙鏡像、修改后的手機java源碼。
另外11月28號深圳鴻蒙沙龍會議~~希望大家都能來參加~~到時候會給大家分享小車的開發流程。
【線下沙龍】輕松掌握HarmonyOS多場景開發
這里我們使用到的是訊飛的語音識別功能,大家可以打開這個網站,申請一個測試賬戶:
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();
- }
https://harmonyos.51cto.com/#zz