34 lines
977 B
C++
34 lines
977 B
C++
//
|
|
// Created by xtkuang on 2025/5/8.
|
|
//
|
|
|
|
#ifndef CMVR_ES_ABSTRACT_SPEAKER_H
|
|
#define CMVR_ES_ABSTRACT_SPEAKER_H
|
|
#pragma once
|
|
|
|
#include "devices/abstract_device.h"
|
|
#include "cmvr/config/speaker_config/speaker_config.pb.h"
|
|
namespace cmvr::device{
|
|
class AbstractSpeaker: public AbstractDevice {
|
|
public:
|
|
AbstractSpeaker() = default;
|
|
~AbstractSpeaker() override = default;
|
|
|
|
DeviceKind kind() const noexcept override { return DeviceKind::Speaker; }
|
|
virtual void getState(SpeakerState &state) {}
|
|
virtual void play(const std::string &file_path) {}
|
|
virtual void setVolume(int volume) {}
|
|
virtual int getVolume() const {return 0;}
|
|
virtual void pause() {}
|
|
virtual void resume() {}
|
|
virtual bool pushAudioFrame(const AudioStreamFrameData& frame_data) { return false; }
|
|
virtual void stopStreaming() {}
|
|
|
|
protected:
|
|
SpeakerState state_{};
|
|
|
|
};
|
|
}
|
|
|
|
#endif //CMVR_ES_ABSTRACT_SPEAKER_H
|