mirror of
https://github.com/RPCSX/rpcsx.git
synced 2026-02-02 13:54:35 +01:00
35 lines
866 B
C++
35 lines
866 B
C++
#pragma once
|
|
|
|
#include "Emu/Io/music_handler_base.h"
|
|
|
|
#include <QMediaPlayer>
|
|
#include <QObject>
|
|
#include <mutex>
|
|
|
|
class qt_music_handler final : public QObject, public music_handler_base
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
qt_music_handler();
|
|
virtual ~qt_music_handler();
|
|
|
|
void stop() override;
|
|
void pause() override;
|
|
void play(const std::string& path) override;
|
|
void fast_forward(const std::string& path) override;
|
|
void fast_reverse(const std::string& path) override;
|
|
void set_volume(f32 volume) override;
|
|
f32 get_volume() const override;
|
|
|
|
private Q_SLOTS:
|
|
void handle_media_status(QMediaPlayer::MediaStatus status);
|
|
void handle_music_state(QMediaPlayer::PlaybackState state);
|
|
void handle_music_error(QMediaPlayer::Error error, const QString& errorString);
|
|
|
|
private:
|
|
mutable std::mutex m_mutex;
|
|
std::unique_ptr<QMediaPlayer> m_media_player;
|
|
std::string m_path;
|
|
};
|