使用語音控制鴻蒙小車

以前咱們已經有一篇文章講了如何驅動鴻蒙小車,經過網絡控制小車的運行。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

相關文章
相關標籤/搜索