admin管理员组文章数量:1652900
#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";
}
版权声明:本文标题:QT 播放器设置 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1729619591a1208106.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论