一些細節
可以改進的地方
**已上傳到github:
執行介面: 請無視這個簡陋的布局
文字聊天:
語音聊天:
為了壓縮gif大小已經裁剪過,實際上一次對話沒有這麼快
因為是計網的課設要趕時間所以我做得很簡陋(其實是菜),所有操作都在mainwindow.cpp裡面完成,一共就這幾個類
語音聊天功能
流程圖,功能之後跟的是函式名。
下面是**,有一些是get比較適合,有一些是post比較適合,視情況採用就好。
? http get post區別
青雲客api get就好
//直接聊天
void mainwindow:
:on_sendbtn_clicked()
相應的槽函式,想做的好一點可以多加幾個if處理異常
//解析圖靈api返回的json資料
void mainwindow:
:tuling_replyfinish
(qnetworkreply *reply)}}
} reply->
deletelater()
; ui->outputtextedit->
settext
(tuling_get_ans)
;}
一些需要用到的宣告和初始化
qmediaplayer* media_player;
//用於設定audio_input
qaudiodeviceinfo speechcurrentdevice;
//用於錄音,資料儲存在jsonbuffer裡面
qaudioinput* audio_input=
null
; qbuffer* jsonbuffer=
null
;void mainwindow:
:audioinit()
}jsonbuffer是 qbuffer* jsonbuffer=null;,好像每次new乙個都比較慢,建議放在外面new,我因為環境原因沒法測試語音功能,想改良可以自己試一下
//當按下錄音按鈕後 開始錄音
void mainwindow:
:on_voicebtn_pressed()
//鬆開按鈕後,結束錄音,傳送請求
void mainwindow:
:on_voicebtn_released()
//聲音轉成文字
)}
//當聲音識別成文字後,發射訊號到此函式,然後將文字傳送給圖靈機械人
void mainwindow:
:voice_post_tuling_slot()
//走語音識別的流程 這是將語音識別文字傳送給圖靈機械人,然後解析json
void mainwindow:
:voice_tuling_replyfinish
(qnetworkreply *reply)}}
} reply->
deletelater()
;// 獲得返回文字後
}
//獲取本機mac位址
"自動獲取的mac位址 "
}
qt可以獲取麥克風音量,然後開乙個執行緒判斷當前麥克風是否超過某個值,超過了就開始錄音,然後識別…這樣更智慧型,不用按按鈕說話。 百度unit閒聊機械人
import json import random import requests client id 為官網獲取的ak,client secret 為官網獲取的sk client id hikc0fsxfqx17dgsbvcugyzx client secret wlun6dvlgjulnyvxt...
小杜機械人線下店 百度AI小度機械人IP營銷
我已經不是兩歲的孩子了好嗎!小度在9月16號,他的3歲生日這天這麼跟我吼道。人機大戰 早在今年年初,我們就曾策劃小度在電視節目 最強大腦 的人機大戰中露面。三場人機大戰,既是中國電視史上的首次人機大戰,又是在 人工智慧 成為熱詞後,吸引公眾關注中國ai實際技術水平的一大契機。無論是在第 一 三場的人...
老站長教你保養百度和谷歌蜘蛛機械人
說到這個題目,你可能要問了,我們為什麼要保養這些蜘蛛機械人呢,我的 我只要天天更新 內容不就行了嗎?我才不管他們這些蜘蛛機械人來不來呢?如果你的 做出來是給自己乙個人看的那還是可以,但是我們hdlqru的 做出來不是自己在家欣賞的,是要和大家一起分析你的喜悅的。所以說我們還得把這些蜘蛛機械人當貴客,...