11#ifndef INCGUARD_MGL_AUDIO_WAVE_LOADER_H_1611731366
12#define INCGUARD_MGL_AUDIO_WAVE_LOADER_H_1611731366
32 static_assert(
sizeof(
Format) == 16);
41 [[nodiscard]]
constexpr bool IsOpen() const noexcept
63 constexpr void Seek(uint32_t sampleFrame)
noexcept
65 _currentDataOffset =
static_cast<size_t>(sampleFrame) * _format.
blockSize;
77 return _currentDataOffset >= _dataSize;
92 void Close() noexcept;
94 size_t GetSample(
void *buffer,
size_t bufferSize) noexcept;
100 File::ThrowingHandle _file;
101 size_t _dataOffset{0};
103 size_t _currentDataOffset{0};
WAVEローダークラス
Definition mgl_audio_wave_loader.h:20
constexpr bool IsOpen() const noexcept
WAVEファイルがオープンされているかを取得
Definition mgl_audio_wave_loader.h:41
constexpr void Seek(uint32_t sampleFrame) noexcept
読み込み位置を設定
Definition mgl_audio_wave_loader.h:63
constexpr size_t GetDataSize() const noexcept
データサイズを取得
Definition mgl_audio_wave_loader.h:86
size_t GetSampleWithConvert(float *buffer, size_t bufferSize) noexcept
サンプルをfloatに変換して取得
Definition mgl_audio_wave_loader.cc:199
size_t GetSample(void *buffer, size_t bufferSize) noexcept
サンプルの取得
Definition mgl_audio_wave_loader.cc:154
void Close() noexcept
WAVEファイルをクローズ
Definition mgl_audio_wave_loader.cc:137
bool Open(const File::PathView &path) noexcept
WAVEファイルをオープン
Definition mgl_audio_wave_loader.cc:36
constexpr bool IsFinished() const noexcept
読み込み位置が終端に達しているかを取得
Definition mgl_audio_wave_loader.h:75
constexpr const Format & GetFormat() const noexcept
フォーマットを取得
Definition mgl_audio_wave_loader.h:52
文字列の参照のみを行うファイルパスクラス
Definition mgl_file_path_view.h:20