必须添加以下语句在pro文件中
QT += multimedia multimediawidgets
设置视频播放窗口大小
videowidget = new QVideoWidget(this);
videowidget->resize(600,300);
将player指定窗口:
player->setVideoOutput(videowidget);
要想让Player播放MP4文件,需要手动安装:(浏览器下载即可,不安装的话只能播放wav文化,无法播放MP4文件)
要包含一个QFileDialog头文件来打开文件
filename = QFileDialog::getSaveFileName(this,"openFile","..//");
player->setMedia(QUrl::fromLocalFile(filename));
player->play();
增加几个按键来进行操作
void Widget::on_pushButton_2_clicked()
{
player->play();//播放
}
void Widget::on_pushButton_3_clicked()
{
player->pause();//暂停
}
void Widget::on_pushButton_4_clicked()
{
player->stop();//停止
}
在增加一个进度条:显示视频的播放进度,那么首先要知道视频时长,作为进度条的最大值
player->duration()无法直接获得当前视频的长度,需要用connect
connect(player,&QMediaPlayer::durationChanged,this,&Widget::Get_Duration);
void Widget::Get_Duration()
{ int x = player->duration();
ui->horizontalSlider->setMaximum(x);
}
在将slider和视频关联起来:
connect(ui->horizontalSlider,&QSlider::valueChanged,this,&Widget::SliderChanged);
void Widget::SliderChanged()
{
pos = ui->horizontalSlider->value();
player->setPosition(pos);
}
代码:
链接:https://pan.baidu.com/s/1mgHTJ-55vLFU5rTo9sXzpg
提取码:g6qx