使用語(yǔ)音控制鴻蒙小車
51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)
https://harmonyos.51cto.com/#zz
之前我們已經(jīng)有一篇文章講了如何驅(qū)動(dòng)鴻蒙小車,通過網(wǎng)絡(luò)控制小車的運(yùn)行。
基于鴻蒙系統(tǒng) + Hi3861 的wifi小車,可以通過電腦、手機(jī)控制

這一篇我們來試點(diǎn)不一樣的:使用語(yǔ)音控制鴻蒙小車。
附件提供可以直接燒錄的鴻蒙鏡像、修改后的手機(jī)java源碼。
另外11月28號(hào)深圳鴻蒙沙龍會(huì)議~~希望大家都能來參加~~到時(shí)候會(huì)給大家分享小車的開發(fā)流程。
【線下沙龍】輕松掌握HarmonyOS多場(chǎng)景開發(fā)
這里我們使用到的是訊飛的語(yǔ)音識(shí)別功能,大家可以打開這個(gè)網(wǎng)站,申請(qǐng)一個(gè)測(cè)試賬戶:
https://www.xfyun.cn/services/lfasr?ch=bd01-b&b_scene_zt=1&renqun_youhua=648371
一般來說我們申請(qǐng)?bào)w驗(yàn)包即可,(新用戶禮包需要實(shí)名認(rèn)證):
領(lǐng)取完免費(fèi)使用后,我們創(chuàng)建新應(yīng)用。

應(yīng)用名稱這些自己根據(jù)需求填寫

提交后,我們單擊應(yīng)用,查看詳情

我們下載Android SDK包。

Android SDK包的使用可以查看文檔。
下載完后,我們?cè)?IatDemo.java文件的 public void onResult(RecognizerResult results, boolean isLast) 函數(shù)中添加我們控制小車的代碼,如圖:
我這邊會(huì)提供我修改后的 IatDemo.java文件 ,大家替換即可。

編譯app,然后得到安裝包:speechDemo-debug.apk 。安裝到手機(jī)。
安裝后,我們選擇“立即體驗(yàn)語(yǔ)音聽寫”,然后單擊開始,說出關(guān)鍵字“前進(jìn)”“后退”“向左”“向右”,即可看到小車做出相應(yīng)的動(dòng)作

代碼解析:
其中比較重要的是發(fā)送小車控制指令,指令我們采用的是json格式,大家也可以根據(jù)自己需求,修改其它指令。
- 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和華為官方合作共建的鴻蒙技術(shù)社區(qū)
https://harmonyos.51cto.com/#zz