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