Sound Lib: SoundLib/Audio/WaveAudio.h ソースファイル

Sound Lib

Sound Lib
C/C++Windowsゲーム用音声再生ライブラリ
WaveAudio.h
1 //----------------------------------------------------------
2 // <filename>WaveAudio.h</filename>
3 // <author>Masami Sugao</author>
4 // <date>2018/07/16</date>
5 //----------------------------------------------------------
6 #ifndef WAVE_AUDIO_H
7 #define WAVE_AUDIO_H
8 
9 #include "IAudio.h"
10 
11 
12 namespace SoundLib {
13 namespace Audio {
17 class WaveAudio : public IAudio {
18 public:
19  /* Constructor / Destructor ------------------------------------------------------------------------- */
23  WaveAudio();
24 
29  WaveAudio(WaveAudio&& obj) = default;
30 
34  ~WaveAudio();
35 
36  /* Getters / Setters -------------------------------------------------------------------------------- */
41  const WAVEFORMATEX* GetWaveFormatEx() const;
42 
47  std::string GetFormatName() const;
48 
53  int GetChannelCount() const;
54 
59  int GetSamplingRate() const;
60 
65  int GetBitsPerSample() const;
66 
76  bool HasReadToEnd() const;
77 
78  /* Operator Overloads ------------------------------------------------------------------------------- */
84  WaveAudio& operator=(WaveAudio&& obj) = default;
85 
86  /* Functions ---------------------------------------------------------------------------------------- */
92  bool Load(std::string filePath);
93 
100  long Read(BYTE* pBuffer, long bufSize);
101 
105  void Reset();
106 
107 private:
108  /* Variables ---------------------------------------------------------------------------------------- */
109  HMMIO hMmio;
110  WAVEFORMATEX waveFormatEx;
111  long offset;
112  long dataSize;
113  long restSize;
114  bool hasReadToEnd;
115 
116  /* Constructor / Destructor ------------------------------------------------------------------------- */
117  WaveAudio(const WaveAudio&) = delete;
118 
119  /* Operator Overloads ------------------------------------------------------------------------------- */
120  WaveAudio& operator=(const WaveAudio&) = delete;
121 };
122 
123 }
124 }
125 #endif
bool Load(std::string filePath)
ファイルを解析し、読み込み準備を行う。
Definition: WaveAudio.cpp:50
std::string GetFormatName() const
ファイルフォーマットを示す文字列を取得する。
Definition: WaveAudio.cpp:28
const WAVEFORMATEX * GetWaveFormatEx() const
PCMの情報を取得する。
Definition: WaveAudio.cpp:24
long Read(BYTE *pBuffer, long bufSize)
ファイルを順次読み込む。
Definition: WaveAudio.cpp:109
bool HasReadToEnd() const
ファイル末尾まで読み込みが終わったかどうかを示す値をを取得する。
Definition: WaveAudio.cpp:44
WaveAudio & operator=(WaveAudio &&obj)=default
ムーブ代入演算子のオーバーロード
オーディオファイルデコードクラス用インターフェース
Definition: IAudio.h:21
int GetSamplingRate() const
サンプリングレートを取得する。
Definition: WaveAudio.cpp:36
~WaveAudio()
デストラクタ
Definition: WaveAudio.cpp:15
Definition: CompressedAudio.cpp:13
int GetBitsPerSample() const
ビットレートを取得する。
Definition: WaveAudio.cpp:40
WAVEファイル読み込みクラス
Definition: WaveAudio.h:17
void Reset()
ファイルポインタを音声データの先頭に戻す。
Definition: WaveAudio.cpp:129
WaveAudio()
コンストラクタ
Definition: WaveAudio.cpp:13
int GetChannelCount() const
チャンネル数を取得する。
Definition: WaveAudio.cpp:32
構築:   doxygen 1.8.14