利用QT的Mediaplayer類來做播放器播放視頻的時候,可以利用label控件來指定視頻播放的位置,以便以我們可以在其他位置設計其他控件,而不受視頻播放的影響。代碼如下:
void video::video(QWidget *parent) :
QWidget(parent),
ui(new Ui::video)
{
ui->setupUi(this);
QMediaPlayer *player = new QMediaPlayer; //用於解析視頻流的媒體播放器
QVideoWidget *videowidget = new QVideoWidget; //用於播放視頻
QVBoxLayout *layout = new QVBoxLayout; //用於指定視頻播放的位置
player->setMedia(QUrl::fromLocalFile("C:\\CloudMusic\\MV\\kongfu.mp4")); //打開音視頻流文件
videowidget->resize(ui->label->size()); //把視頻輸出圖像的大小重新調整爲label的大小
//指定視頻播放的位置
layout->addWidget(videowidget);
ui->label->setLayout(layout);
player->setVideoOutput(videowidget); //設置視頻輸出附加到媒體播放器
player->play(); //開始播放視頻
}