forked from marina13594/NETB380
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmusicplayerdialog.cpp
More file actions
67 lines (63 loc) · 1.89 KB
/
musicplayerdialog.cpp
File metadata and controls
67 lines (63 loc) · 1.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include "musicplayerdialog.h"
#include "ui_musicplayerdialog.h"
#include "mainwindow.h"
/* Constructor
* Creates the dialog window and connects the sliders to functions */
MusicPlayerDialog::MusicPlayerDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::MusicPlayerDialog)
{
ui->setupUi(this);
player = new QMediaPlayer(this);
connect(player, &QMediaPlayer::positionChanged, this, &MusicPlayerDialog::on_positonChanged);
connect(player, &QMediaPlayer::durationChanged, this, &MusicPlayerDialog::on_durationChanged);
}
MusicPlayerDialog::~MusicPlayerDialog()
{
delete ui;
}
/* acquires the address from table view */
void MusicPlayerDialog::get_string_to_play(QString passed)
{
selected = passed;
}
/* player sets signals to the possition slider on current progress */
void MusicPlayerDialog::on_Progress_Slider_sliderMoved(int position)
{
player->setPosition(position);
}
/* player sets sounds */
void MusicPlayerDialog::on_Volume_Slider_sliderMoved(int position)
{
player->setVolume(position);
}
/* when clicked player if not playing sets media and starts playing */
void MusicPlayerDialog::on_Play_Button_clicked()
{
if(player->state() != QMediaPlayer::PausedState && player->state() != QMediaPlayer::PlayingState)
{
player->setMedia(QUrl(selected, QUrl::TolerantMode));
}
player->play();
qDebug() << player->errorString();
}
/* when clicked player paused */
void MusicPlayerDialog::on_Pause_Button_clicked()
{
player->pause();
}
/* when clicked player stoped */
void MusicPlayerDialog::on_Stop_Button_clicked()
{
player->stop();
}
/* sets the durration of the song on the progress bar */
void MusicPlayerDialog::on_durationChanged(qint64 position)
{
ui->Progress_Slider->setMaximum(position);
}
/* updates the progress bar while playing */
void MusicPlayerDialog::on_positonChanged(qint64 position)
{
ui->Progress_Slider->setValue(position);
}