调用电脑摄像头
首先视频通话需要调用电脑的摄像头。
使用的类有QCamera,QCameraImageCapture
QCamera用于调用电脑摄像头。QCameraImageCapture用于捕获当前摄像头的帧数
QCameraImageCapture有一个信号imageCaptured,当触发这个信号,可以定义一个槽函数来捕获当前图片
定义一个image来进行捕获
m_Image=preview.convertToFormat(QImage::Format_RGB888);
这样图片就捕获到了。然后通过tcp进行传输。
TCP传输图片
需要使用的2个类
QTcpSocket,QTcpServer
socket用于进行通信。server用于监听接口。
首先创建客户端socket。定义好端口和ip地址。
connected这个信号用于进行连接。
tcpserver用于监听。比如说我监听的是2022这个接口。
if(!m_pTcpServer->listen(QHostAddress::Any, 2022)) //端口为2022
判断是否监听成功。
传输图片就是将图片写入QByteArray。然后读取的时候再进行转化出来。
转化完成之后使用一个qlabel进行显示。
这个我目前没有加入语音功能。这个我后面再研究研究。
反正大致原理就是捕获当前的摄像头的图片。然后通过tcp传过去。
速度还是可以的。基本没有什么卡顿。
需要的可以到这里进行自取。感谢大家支持。
效果图:
通过笔记本摄像头传输到台式机。因为台式机没有摄像头。所以是单向的。