qt实现用按钮停止播放音频
时间: 2023-10-25 17:06:30 浏览: 34
首先,你需要将音频播放的代码封装在一个函数中,例如:
```cpp
void playAudio(const QString& fileUrl) {
QMediaPlayer* player = new QMediaPlayer();
player->setMedia(QUrl::fromLocalFile(fileUrl));
player->setVolume(50);
player->play();
}
```
接下来,在你的窗口类中添加一个按钮和一个槽函数,用于停止音频播放:
```cpp
class MainWindow : public QMainWindow {
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr) : QMainWindow(parent) {
// 添加一个按钮
QPushButton* stopButton = new QPushButton("停止");
connect(stopButton, &QPushButton::clicked, this, &MainWindow::stopAudio);
// 其他代码...
}
private:
QMediaPlayer* player;
private slots:
void playAudio() {
player = new QMediaPlayer();
player->setMedia(QUrl::fromLocalFile("audio.mp3"));
player->setVolume(50);
player->play();
}
void stopAudio() {
if (player) {
player->stop();
delete player;
player = nullptr;
}
}
};
```
在上面的代码中,我们在 `playAudio` 函数中创建了一个 `QMediaPlayer` 对象并播放音频。在 `stopAudio` 函数中,我们检查 `player` 对象是否存在,如果存在则停止播放音频并释放对象。最后,我们需要将 `stopButton` 添加到窗口中。