给bc做网站劫持关键词推广排名软件
目录
1 工程配置
1.1 创建新工程
1.2 ui界面配置
1.3 .pro配置
2 代码
2.1 main.c代码
2.2 widget.c
2.3 widget.h
本文主要记述了如何使用Qt编写一个简单的视频播放器,整个示例采用Qt自带组件就可以完成。可以实现视频的播放和暂停等功能。
1 工程配置
1.1 创建新工程
如下步骤,创建一个名为13-video_player_demo的工程文件,选择基于QWidget就可以,带上ui文件。
1.2 ui界面配置
界面就有四个组件:垂直布局、三个按钮
1.3 .pro配置
在.pro文件内加入:
multimedia multimediawidgets
即:
QT += core gui multimedia multimediawidgets
2 代码
2.1 main.c代码
#include "widget.h"#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;w.show();return a.exec();
}
2.2 widget.c
#include "widget.h"
#include "ui_widget.h"
#include <QFileInfo>
#include <QFileDialog>
#include <QDir>
#include <QMessageBox>
#include <QVBoxLayout>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);// 创建实例化对象player = new QMediaPlayer(this); videoplayer = new QVideoWidget(this);// 将videoplayer添加到verticalLayout里面,不然将单独开个页面ui->verticalLayout->addWidget(videoplayer);// 将videoplayer设置为player的输出player->setVideoOutput(videoplayer);// 当视频状态发送变化时触发connect(player, SIGNAL(stateChanged(QMediaPlayer::State)), SLOT(OnStateChange(QMediaPlayer::State)));
}Widget::~Widget()
{delete ui;
}void Widget::on_btn_Import_clicked()
{QString strCurrentPath = QDir::homePath();QString stdDlgTitle = "请选择视频文件";QString strFilter = "MP4 File(*.mp4);;All File(*.*)";QString strAllFiles = QFileDialog::getOpenFileName(this, stdDlgTitle,strCurrentPath,strFilter);if(strAllFiles.isEmpty()) {QMessageBox::information(this,"错误","打开视频文件失败,请重新检查",QMessageBox::Yes|QMessageBox::No);return;}QFileInfo fileInfos(strAllFiles);qDebug() << "File info: " << fileInfos.fileName() << ", path: " << fileInfos.filePath();player->setMedia(QUrl::fromLocalFile(strAllFiles));player->play(); // 播放
}void Widget::on_btn_play_clicked()
{player->play(); // 播放
}void Widget::on_btn_pause_clicked()
{player->pause(); // 停止播放
}void Widget::OnStateChange(QMediaPlayer::State state)
{qDebug() << "state change";//播放器状态变化bool isPlaying = (state==QMediaPlayer::PlayingState);ui->btn_play->setEnabled(!isPlaying);ui->btn_pause->setEnabled(isPlaying);
}
2.3 widget.h
#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QVideoWidget>
#include <QMediaPlayer>QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();QVideoWidget *videoplayer;QMediaPlayer *player;private slots:void on_btn_Import_clicked();void on_btn_play_clicked();void on_btn_pause_clicked();void OnStateChange(QMediaPlayer::State state);private:Ui::Widget *ui;
};
#endif // WIDGET_H
3 注意
1 有时候需要在Linux系统上下载想要的视频软件
2 直接从windows上拉个文件到Linux上,可能由于编码原因不能播放
可以在Linux上录一段视频
可以进行转码