cmvr-es/include/devices/abstract_speaker.h
2025-08-21 13:56:39 +08:00

30 lines
755 B
C++

//
// Created by xtkuang on 2025/5/8.
//
#ifndef CMVR_ES_ABSTRACT_SPEAKER_H
#define CMVR_ES_ABSTRACT_SPEAKER_H
#pragma once
#include "abstract_device.h"
namespace cmvr::device{
class AbstractSpeaker: public AbstractDevice {
public:
explicit AbstractSpeaker(const XmlNode &config): AbstractDevice(config) {}
~AbstractSpeaker() override = default;
virtual void getState(SpeakerState &state) {}
virtual void play(const std::string &file_path) {}
virtual void setVolume(int volume) {}
[[nodiscard]] virtual int getVolume() const {return 0;}
virtual void pause() {}
virtual void resume() {}
protected:
SpeakerState state_{};
};
}
#endif //CMVR_ES_ABSTRACT_SPEAKER_H