cAudio  2.3.0
3d Audio Engine
cWavDecoder.h
1 // Copyright (c) 2008-2011 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones, Murat (wolfmanfx) Sari
2 // This file is part of the "cAudio Engine"
3 // For conditions of distribution and use, see copyright notice in cAudio.h
4 
5 #pragma once
6 
7 #include "cMemoryOverride.h"
8 #include "IAudioDecoder.h"
9 #include "cAudioDefines.h"
10 
11 #if CAUDIO_COMPILE_WITH_WAV_DECODER == 1
12 
13 namespace cAudio
14 {
15  class cWavDecoder : public IAudioDecoder, public cMemoryOverride
16  {
17  public:
18 
19  cWavDecoder(IDataSource* stream);
20  ~cWavDecoder();
21 
22  virtual AudioFormats getFormat();
23  virtual int getFrequency();
24  virtual bool isSeekingSupported();
25  virtual bool isValid();
26  virtual int readAudioData(void* output, int amount);
27  virtual bool setPosition(int position, bool relative);
28  virtual bool seek(float seconds,bool relative);
29  virtual float getTotalTime();
30  virtual int getTotalSize();
31  virtual int getCompressedSize();
32  virtual float getCurrentTime();
33  virtual int getCurrentPosition();
34  virtual int getCurrentCompressedPosition();
35  virtual cAudioString getType() const;
36 
37  private:
38  short Channels;
39  int SampleRate;
40  int ByteRate;
41  short BlockAlign;
42  short BitsPerSample;
43  int DataSize;
44  int DataOffset;
45 
46  bool Valid;
47  };
48 };
49 
50 #endif
51 
AudioFormats
Enumeration of audio formats supported by the engine.
Definition: EAudioFormats.h:10
Main namespace for the entire cAudio library.
Definition: cAudioCapture.h:15