Воспроизведение музыки с помощью QT6 и QMediaPlayer ⇐ C++
Воспроизведение музыки с помощью QT6 и QMediaPlayer
Я попытался создать класс с объектом QMediaPlayer, а затем в своем файле Game.h создал экземпляр этого класса. Планировалось использовать setContextProperty, чтобы связать его с файлом QML.
Но песня не воспроизводится. Я дважды проверил настройку QMediaPlayer в классе, и все параметры в порядке, а действие кнопки onClick в файле QML кажется хорошим.
//код для Mp3Player.cpp #include "Mp3Player.h" #include Mp3Player::Mp3Player(QMediaPlayer *mp3Player): QObject(), mp3Player(mp3Player) { mp3Player = новый QMediaPlayer(это); mp3Player->setSource(QUrl("qrc:/sounds/international_love.mp3")); } Mp3Player::~Mp3Player() { удалить mp3плеер; } void Mp3Player::setMusic() { mp3Player->играть(); qDebug() нагрузка (URL); QQmlContext *rootContext = engine->rootContext(); rootContext->setContextProperty("classA", &objectClass); rootContext->setContextProperty("classB", &mp3Player); } Игра::~Игра() { удалить двигатель; удалить музыку; } int Game::run() { вернуть exec(); } //код Game.h #прагма один раз #include #include #include "InitClass.h" #include "Mp3Player.h" класс Game: общедоступное QGuiApplication { Q_OBJECT сигналы: публика: Game(int argc, char *argv[]); ~Игра(); интервал запуска(); частный: QQmlApplicationEngine *engine; Объектный класс InitClass; QMediaPlayer *музыка; mp3-плеер mp3-плеер; };
Я попытался создать класс с объектом QMediaPlayer, а затем в своем файле Game.h создал экземпляр этого класса. Планировалось использовать setContextProperty, чтобы связать его с файлом QML.
Но песня не воспроизводится. Я дважды проверил настройку QMediaPlayer в классе, и все параметры в порядке, а действие кнопки onClick в файле QML кажется хорошим.
//код для Mp3Player.cpp #include "Mp3Player.h" #include Mp3Player::Mp3Player(QMediaPlayer *mp3Player): QObject(), mp3Player(mp3Player) { mp3Player = новый QMediaPlayer(это); mp3Player->setSource(QUrl("qrc:/sounds/international_love.mp3")); } Mp3Player::~Mp3Player() { удалить mp3плеер; } void Mp3Player::setMusic() { mp3Player->играть(); qDebug() нагрузка (URL); QQmlContext *rootContext = engine->rootContext(); rootContext->setContextProperty("classA", &objectClass); rootContext->setContextProperty("classB", &mp3Player); } Игра::~Игра() { удалить двигатель; удалить музыку; } int Game::run() { вернуть exec(); } //код Game.h #прагма один раз #include #include #include "InitClass.h" #include "Mp3Player.h" класс Game: общедоступное QGuiApplication { Q_OBJECT сигналы: публика: Game(int argc, char *argv[]); ~Игра(); интервал запуска(); частный: QQmlApplicationEngine *engine; Объектный класс InitClass; QMediaPlayer *музыка; mp3-плеер mp3-плеер; };
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Почему мой QMediaPlayer перестает работать после нескольких итераций цикла?
Anonymous » » в форуме C++ - 0 Ответы
- 21 Просмотры
-
Последнее сообщение Anonymous
-
-
-
QMediaPlayer ускоряет видео после приостановки и возобновления видео на Raspberry Pi 5
Anonymous » » в форуме Linux - 0 Ответы
- 24 Просмотры
-
Последнее сообщение Anonymous
-