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

Sound Lib

Sound Lib
C/C++Windowsゲーム用音声再生ライブラリ
OggAudio.h
1 //----------------------------------------------------------
2 // <filename>OggAudio.h</filename>
3 // <author>Masami Sugao</author>
4 // <date>2018/07/16</date>
5 //----------------------------------------------------------
6 #ifndef OGG_AUDIO_H
7 #define OGG_AUDIO_H
8 
9 #include "IAudio.h"
10 #include "vorbis/vorbisfile.h"
11 
12 
13 namespace SoundLib {
14 namespace Audio {
18 class OggAudio : public IAudio {
19 public:
20  /* Constructor / Destructor ------------------------------------------------------------------------- */
24  OggAudio();
25 
30  OggAudio(OggAudio&& obj) = default;
31 
35  ~OggAudio();
36 
37  /* Getters / Setters -------------------------------------------------------------------------------- */
42  const WAVEFORMATEX* GetWaveFormatEx() const;
43 
48  TString GetFormatName() const;
49 
54  int GetChannelCount() const;
55 
60  int GetSamplingRate() const;
61 
66  int GetBitsPerSample() const;
67 
77  bool HasReadToEnd() const;
78 
79  /* Operator Overloads ------------------------------------------------------------------------------- */
85  OggAudio& operator=(OggAudio&& obj) = default;
86 
87  /* Functions ---------------------------------------------------------------------------------------- */
93  bool Load(TString filePath);
94 
101  long Read(BYTE* pBuffer, long bufSize);
102 
106  void Reset();
107 
108 private:
109  /* Variables ---------------------------------------------------------------------------------------- */
110  OggVorbis_File ovf;
111  bool hasOpenedFile;
112  WAVEFORMATEX waveFormatEx;
113  bool hasReadToEnd;
114 
115  /* Constructor / Destructor ------------------------------------------------------------------------- */
116  OggAudio(const OggAudio&) = delete;
117 
118  /* Operator Overloads ------------------------------------------------------------------------------- */
119  OggAudio& operator=(const OggAudio&) = delete;
120 };
121 
122 }
123 }
124 #endif
int GetSamplingRate() const
デコード前のサンプリングレートを取得する。
Definition: OggAudio.cpp:36
bool HasReadToEnd() const
ファイル末尾まで読み込みが終わったかどうかを示す値をを取得する。
Definition: OggAudio.cpp:45
const WAVEFORMATEX * GetWaveFormatEx() const
PCMの情報を格納したオブジェクトを取得する。
Definition: OggAudio.cpp:24
Ogg Vorbisファイルデコードクラス
Definition: OggAudio.h:18
TString GetFormatName() const
ファイルフォーマットを示す文字列を取得する。
Definition: OggAudio.cpp:28
OggAudio & operator=(OggAudio &&obj)=default
ムーブ代入演算子のオーバーロード
~OggAudio()
デストラクタ
Definition: OggAudio.cpp:15
オーディオファイルデコードクラス用インターフェース
Definition: IAudio.h:21
void Reset()
ファイルポインタを音声データの先頭に戻す。
Definition: OggAudio.cpp:90
Definition: CompressedAudio.cpp:13
int GetChannelCount() const
デコード前のチャンネル数を取得する。
Definition: OggAudio.cpp:32
OggAudio()
コンストラクタ
Definition: OggAudio.cpp:13
long Read(BYTE *pBuffer, long bufSize)
ファイルを順次読み込み、デコードした値を格納する。
Definition: OggAudio.cpp:72
bool Load(TString filePath)
ファイルを解析し、デコード準備を行う。
Definition: OggAudio.cpp:51
int GetBitsPerSample() const
デコード前のビットレートを取得する。
Definition: OggAudio.cpp:40
構築:   doxygen 1.8.14