QMediaPlayer(电影放映员)、QMediaPlaylist(电影胶带)、QVideoWidget(电影屏幕)
//设置播放器的播放队列
m_player->setPlaylist(m_playerlist);
//设置播放器的显示窗口
m_player->setVideoOutput(m_videowidget);
进度条和视频联合使用的三个步骤
1.设置进度条的最大值
//QMediaPlayer.duration()的作用是获得当前播放媒体的总时间
connect(m_player,&QMediaPlayer::durationChanged,[=](){
auto max = m_player->duration();
ui->sd_time->setMaximum(max);
});
2.视频跟着进度条动
//滑动条动,视频跟着动
connect(ui->sd_time,&QSlider::valueChanged,[=](){
int pos = ui->sd_time->value();
m_player->setPosition(pos);
});
3.进度条跟着视频动
//进度条跟着视频的位置动
connect(m_player,&QMediaPlayer::positionChanged,[=](){
ui->sd_time->setValue(m_player->position());
//设置时间显示器
int max = m_player->duration();
//转换成时间
QTime all_time = QTime::fromMSecsSinceStartOfDay(max);
// ui->lb_time->setText(time.toString("hh:mm:ss:zzz"));
auto now = m_player->position();
QTime current_time = QTime::fromMSecsSinceStartOfDay(now);
ui->lb_time->setText(current_time.toString("hh:mm:ss")+"/"+all_time.toString("hh:mm:ss"));
});
功能
播放:player->start()
暂停:player->pause()
停止:player->stop()