您的位置:首页 > 编程语言 > Qt开发

win音视频--qt视频显示

2013-09-28 00:50 369 查看
       使用window的directxshow显示视频真是费劲,写了半天的代码把自己绕到云里雾里,对于初学者真是费劲,找不到东西南北,在qt里开发,为了显示个window的视频预览,费了我九牛二虎之力,累的要死。

       在CreateWindow创建的窗口里能够正常调用本地摄像头并显示的的代码(参见:http://blog.csdn.net/qyee16/article/details/12072743),在qt控件里就是显示不出来。头大,无奈只能另寻出路,难道如此强大方便的Qt里没有?Qt
Creator例子,拿来看看果然有,调用本地摄像头的例子,看了看,比较大,抽出了部分代码,能够显示本地摄像头预览!拿来以飨初学者!

#include <QtMultimediaWidgets/qcameraviewfinder.h>
#include <QtMultimedia/Qcamera.h>
#include <qdebug.h>
#include <QtWidgets/qlabel.h>
#include <QtWidgets/qapplication.h>
#pragma comment(lib, "Qt5Multimediad.lib")
#pragma comment(lib, "Qt5MultimediaWidgetsd.lib")
#pragma comment(lib, "Qt5Guid.lib")
#pragma comment(lib, "Qt5Widgetsd.lib")

int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QCamera *camera;
QByteArray devName;
foreach(const QByteArray &deviceName, QCamera::availableDevices())
{
QString description = camera->deviceDescription(deviceName);
devName = deviceName;
}

camera = new QCamera(devName);

QLabel label("hell");
label.setFixedSize(400, 600);

QCameraViewfinder *find = new QCameraViewfinder(&label);
find->setFixedSize(400, 600);
camera->setViewfinder(find);
camera->start();
label.show();
return app.exec();
}


qt的视频控制demo,名为Camera Example ,在Qt5.1.1 createor里面能够搜索找到:

                                                                                                                      


环境: vs2010 + Qt5.1.1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: