mainwindow.h
| #include <QAudioOutput> #include <QMediaPlayer> class MainWindow : public QMainWindow { private: Ui::MainWindow *ui; QMediaPlayer *player; QAudioOutput *audioOutput; }; |
mainwindow.cpp
QAudioOutput을 넣어주지 않으면 재생되는것 처럼 보이는데 정작 소리가 안나온다.
| MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); player = new QMediaPlayer; audioOutput = new QAudioOutput; player->setAudioOutput(audioOutput); player->setSource(QUrl::fromLocalFile("/home/minimonk/src/qt/sounds/test.mp3")); // player->setSource(QUrl("qrc:/test/sounds/test.mp3")); audioOutput->setVolume(0.5); player->play(); } |
[링크 : https://doc.qt.io/qt-6/ko/audiooverview.html]
[링크 : https://doc.qt.io/qt-6/ko/qmediaplayer.html]
[링크 : https://doc.qt.io/qt-6/ko/qaudiooutput.html]
test.pro
곱게(?) ui 내에서 추가하는 법 없나?
| QT += core gui multimedia |
[링크 : https://vongole-pasta.tistory.com/56]
아무튼 이렇게 하면 창이 열리면서 음악이 재생된다.
| QMediaPlaylist *playlist = new QMediaPlaylist(); playlist->addMedia(QUrl("qrc:/sounds/backgroundmusic.mp3")); playlist->setPlaybackMode(QMediaPlaylist::Loop); QMediaPlayer *music = new QMediaPlayer(); music->setPlaylist(playlist); music->play(); |
[링크 : https://stackoverflow.com/questions/37690616/play-background-music-in-a-loop-qt]
요건 시그널/슬롯 이용
'Programming > qt' 카테고리의 다른 글
| qt ui loader (0) | 2026.04.01 |
|---|---|
| qt widget fullscreen (0) | 2026.03.31 |
| qt concurrent / qt thread (0) | 2026.03.30 |
| Qtimer를 이용한 반복/1회성 이벤트 생성 (0) | 2026.03.30 |
| qt6 시그널 (0) | 2026.03.30 |
