一、开发环境的准备
二、代码实现播放功能
1、打开音视频流并获取音视频流信息;
2、查找视频流位置以及查找并打开视频解码器;
3、视频解码的同时处理图片像素数据;
4、最后要释放申请的内存空间。*
.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QDesktopWidget>
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = NULL);
~Widget();
private slots:
void on_pushButton_clicked();
void slotOpenFile();
void on_Close_clicked();
void on_Close_2_clicked();
private:
Ui::Widget *ui;
QString currentFileName;
};
#endif // WIDGET_H
.cpp
#include "widget.h"
#include "ui_widget.h"
#include <QTime>
#include <QFileDialog>
#include <QScreen>
// 调用FFmpeg的头文件
extern "C"{
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
#include <libswscale/swscale.h>
#include <libavutil/imgutils.h>
}
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
this->setWindowTitle("hello");//设置窗口的标题
QObject::connect(ui->open,SIGNAL(clicked