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

30 lines
819 B
C++

//
// 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