#include "widget.h"
#include "ui_widget.h"
#include <QtCore/QTime>
#include <QFile>
#include <QTimer>
#include <QVBoxLayout>
#include <QVideoWidget>
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
ui->verticalSlider->setRange(1,1000);
}
void Widget::onTimerOut()
{
int pos=player->position()*1000.0/player->duration();
qDebug()<<pos;
if(pos<0)pos=0;
QTime showTime(0,0,0,0);
showTime = showTime.addMSecs(player->position());
ui->label->setText(showTime.toString("hh:mm:ss:zzz"));
}
Widget::~Widget()
{
delete ui;
}
void Widget::on_pushButton_clicked()
{
QVBoxLayout *layout = new QVBoxLayout;
QVideoWidget *videoWidget = new QVideoWidget;
player=new QMediaPlayer();
// QMediaPlaylist* playlist=new QMediaPlaylist;
layout->addWidget(videoWidget);
ui->widget->setLayout(layout);
QFile file("D:/迅雷下载/anod/Asspirations/v01.mp4");
if(!file.open(QIODevice::ReadOnly))
qDebug() << "Could not open file";
player->setMedia(QUrl::fromLocalFile("D:/迅雷下载/anod/Asspirations/v01.mp4"));
player->setVideoOutput(videoWidget);
videoWidget->show();
ui->widget->showFullScreen();
player->play();
QTimer *timer = new QTimer();
timer->setInterval(1000);//如果想看起来流畅些,可以把时间间隔调小,如100ms
//将timer连接至onTimerOut槽函数
connect(timer, SIGNAL(timeout()), this, SLOT(onTimerOut()));
timer->start();
}
void Widget::on_verticalSlider_sliderMoved(int position)
{
player->setVolume(position);
}
void Widget::on_verticalSlider_actionTriggered(int action)
{
player->setVolume(ui->verticalSlider->value());
}
void Widget::on_horizontalSlider_sliderMoved(int position)
{
player->setPosition(position/1000.0*player->duration());
qDebug()<<position<<":pos";
}