From 1bd1b2bbcbe33f54c8dfdccdf94b2f862374e1dc Mon Sep 17 00:00:00 2001 From: Andrew Lee Date: Thu, 23 Jan 2020 17:57:50 -0500 Subject: Audio progress, flac support, about changed --- player.cpp | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) (limited to 'player.cpp') diff --git a/player.cpp b/player.cpp index e618afc..69fdd8a 100644 --- a/player.cpp +++ b/player.cpp @@ -6,13 +6,11 @@ #include "ui_player.h" #include "about.h" - - void Player::mFileDialog() { QString mFile; QMessageBox msgbox; - mFile = QFileDialog::getOpenFileName(this, "Open any audio file", QDir::homePath(), tr("Audio Files (*.mp3 *.wav *.ogg)")); + mFile = QFileDialog::getOpenFileName(this, "Open any audio file", QDir::homePath(), tr("Audio Files (*.mp3 *.wav *.ogg *.flac)")); if (mFile == NULL) { qDebug() << "File cannot be found"; msgbox.setWindowTitle("Uh oh! An error has occured!"); @@ -28,6 +26,7 @@ void Player::mFileDialog() msgbox.setIcon(QMessageBox::Information); msgbox.exec(); ui->volumeSlider->setValue(100); + ui->playButton->setText(tr("Play")); return; } } @@ -40,6 +39,9 @@ Player::Player(QWidget *parent) { ui->setupUi(this); + connect(mPlayer, &QMediaPlayer::positionChanged, this, &Player::on_positionChanged); + connect(mPlayer, &QMediaPlayer::durationChanged, this, &Player::on_durationChanged); + } Player::~Player() @@ -58,15 +60,17 @@ void Player::on_playButton_pressed() { ui->playbackSlider->setEnabled(true); ui->volumeSlider->setEnabled(true); + if (mPlayer->state() == mPlayer->PlayingState) { qDebug() << "Pausing music..."; mPlayer->pause(); - ui->playButton->setText("Pause"); + ui->playButton->setText(tr("Play")); } else { qDebug() << "Playing music..."; mPlayer->play(); - ui->playButton->setText("Play"); + ui->playButton->setText(tr("Pause")); } + } void Player::on_stopButton_pressed() @@ -101,3 +105,18 @@ void Player::on_volumeSlider_sliderMoved(int position) { mPlayer->setVolume(position); } + +void Player::on_playbackSlider_sliderMoved(int position) +{ + mPlayer->setPosition(position); +} + +void Player::on_positionChanged(qint64 position) +{ + ui->playbackSlider->setValue(position); +} + +void Player::on_durationChanged(qint64 position) +{ + ui->playbackSlider->setMaximum(position); +} -- cgit v1.2.3