13#ifndef HMICORE_HARDWARE_SAMPLE_H_
14#define HMICORE_HARDWARE_SAMPLE_H_
42 virtual int32_t
ReadBytes(uint8_t* buffer,
const uint32_t bytes) = 0;
56 virtual void Seek(uint32_t bytes) = 0;
88 explicit AudioSample(
const std::string_view filename);
97 int32_t
ReadBytes(uint8_t* buffer,
const uint32_t bytes)
final;
118 void Seek(uint32_t bytes) final;
124 std::vector<
float> data_;
The Audio Sample Base class.
Definition sample.h:27
virtual int32_t GetSamplingRate() const =0
Get the Sampling Rate attribute.
virtual ~AudioSampleBase()=default
Destroy the Audio Sample Base object.
virtual void Seek(uint32_t bytes)=0
Get the Sampling Rate attribute.
virtual int32_t GetChannels() const =0
Get the Channels attribute.
virtual int32_t ReadBytes(uint8_t *buffer, const uint32_t bytes)=0
Destroy the Audio Sample Base object.
The Audio Sample class.
Definition sample.h:70
int32_t ReadBytes(uint8_t *buffer, const uint32_t bytes) final
Destroy the Audio Sample object.
Definition sample.cc:47
int32_t GetSamplingRate() const final
Get the Sampling Rate attribute.
Definition sample.cc:65
void Seek(uint32_t bytes) final
Get the Total Samples attribute.
Definition sample.cc:67
SNDFILE * file
The audio sample file.
Definition sample.h:78
int32_t GetChannels() const final
Get the Channels attribute.
Definition sample.cc:63
SF_INFO info
The audio sample info.
Definition sample.h:80
Construct a new Audio Sample object.
Definition sample.h:76