qt音乐播放器一个按钮实现点一下播放音乐再点一下暂停播放
时间: 2023-07-13 21:35:23 浏览: 310
您好,实现这个功能可以使用QMediaPlayer和QPushButton组件。您可以在QPushButton的clicked信号中添加一个槽函数,用于控制音乐的播放和暂停。以下是一个简单的代码示例:
```cpp
#include <QMediaPlayer>
#include <QPushButton>
class MusicPlayer : public QWidget {
Q_OBJECT
public:
MusicPlayer(QWidget *parent = nullptr) : QWidget(parent) {
// 创建播放器和按钮
player = new QMediaPlayer(this);
playButton = new QPushButton("Play", this);
// 将按钮的clicked信号连接到槽函数
connect(playButton, &QPushButton::clicked, this, &MusicPlayer::playOrPause);
// 设置布局
QHBoxLayout *layout = new QHBoxLayout(this);
layout->addWidget(playButton);
}
private slots:
void playOrPause() {
// 判断当前状态是播放还是暂停
if (player->state() == QMediaPlayer::PlayingState) {
player->pause();
playButton->setText("Play");
} else {
player->play();
playButton->setText("Pause");
}
}
private:
QMediaPlayer *player;
QPushButton *playButton;
};
```
这个代码中,我们创建了一个MusicPlayer类,它包含一个QMediaPlayer和一个QPushButton。在QPushButton的clicked信号中,我们调用了一个名为playOrPause的私有槽函数。这个函数中,我们首先判断当前音乐的状态是播放还是暂停,然后分别调用QMediaPlayer的play和pause方法,并且更新按钮的文本。这样,每次点击按钮,音乐就会切换播放和暂停状态了。