赞
踩
Github链接:https://github.com/HYX123/MyProject.git
随着信息化技术的不断升温,人们的生活方式、工作习惯也在潜移默化中有了新的飞跃。语音识别与语音合成运用在智能化设备中,给我们的生活中带来了极大的便利。本项目使用全国语音识别方向最大的公司科大讯飞中的SDK接口与目前最主流的AI技术,以C++为基础,采用QT设计程序,实现使用语音与智能机器进行交流,并用语音合成实现各种操作。
QString user = ui->lineEdit->text();
QString psd = ui->lineEdit_2 ->text();
if(user == "123456" && psd == "123456")
{
Towinterface *ww=new Towinterface(this);
ww->show(); //账号密码输入正确后,弹出主界面
this->hide(); //隐藏登录窗口
}
通过字符串形式添加账户,利用SQL导入注册信息表功能有待开发
首先开启线程:
void Towinterface::showEvent(QShowEvent *event) //窗口显示时,开启线程
{
thread->start();
}
void Towinterface::hideEvent(QHideEvent *event) //窗口关闭时,关闭线程
{
thread->terminate();
}
}
<font color=#999AAA >定义一个线程类,写入语音输入功能: void New_Thread::run() { while(1) { system("echo star > /home/gec/pipeg"); //在终端打开管道 int fd = open("/home/gec/pipe",O_RDWR); char buf[4096]={ 0}; ::read(fd,buf,4096); QString msg = buf; msg.remove(msg.indexOf("<rawtext>")); QString word=msg.mid(msg.indexOf("<rawtext>")+9,msg.indexOf("</rawtext>")-(msg.indexOf("<rawtext>")+9)); qDebug()<<word; emit sendTime(word); // emit 把connect信号与槽关联起来 //延时函数 QThread::sleep(1); } }
当系统听到“语音模式”时,才能进行后续操作:
void Towinterface::getTime(QString t)
{
int n=0;
if(t=="语音模式")
{
n=1;
ui->label->setText("语音模式");
}
ui->label->setText("语音模式");
系统接受到语音提示时,打开对应窗口,听到“关闭语音”时,终止线程:
if(t=="视频播放"&&n==1)
{
QPlayer
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。