QT聊天機械人(百度語音 青雲客API)

2021-09-24 23:29:35 字數 2921 閱讀 1625

一些細節

可以改進的地方

**已上傳到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的 做出來不是自己在家欣賞的,是要和大家一起分析你的喜悅的。所以說我們還得把這些蜘蛛機械人當貴客,...