blip  0.1
AudioFormat.hpp
Go to the documentation of this file.
1 #ifndef __blip_AudioFormat_hpp
2 #define __blip_AudioFormat_hpp
3 
4 #include <blip/Blip.hpp>
5 
6 namespace blip {
7 
13 {
14  public:
15 
17  enum Format { Format_None = 0, Format_PCM };
18 
20  AudioFormat();
21 
29  AudioFormat(Format format, uint32_t sampleRate, uint16_t bitsPerSample,
30  uint16_t numChannels) throw();
31 
33  ~AudioFormat() throw();
34 
36  inline Format getFormat() const throw()
37  { return(_format); }
38 
40  inline uint32_t getSampleRate() const throw()
41  { return(_sampleRate); }
42 
44  inline uint16_t getBitsPerSample() const throw()
45  { return(_bitsPerSample); }
46 
48  inline uint16_t getNumChannels() const throw()
49  { return(_numChannels); }
50 
52  inline bool isMono() const throw()
53  { return(_numChannels == 1); }
54 
56  inline bool isStereo() const throw()
57  { return(_numChannels == 2); }
58 
60  size_t getBytesPerSample() const throw();
61 
63  bool isValid() const throw();
64 
66  bool operator==(const AudioFormat& other) const throw();
67 
69  inline bool operator!=(const AudioFormat& other) const throw()
70  { return(!operator==(other)); }
71 
72  private:
73 
74  Format _format;
75  uint32_t _sampleRate;
76  uint16_t _bitsPerSample;
77  uint16_t _numChannels;
78 };
79 
80 } // namespace blip
81 
82 #endif // __blip_AudioFormat_hpp
~AudioFormat()
Destructor.
Definition: AudioFormat.cpp:31
Definition: AudioFormat.hpp:17
uint16_t getBitsPerSample() const
Get the number of data bits per sample.
Definition: AudioFormat.hpp:44
An object that describes an audio data format.
Definition: AudioFormat.hpp:12
bool operator==(const AudioFormat &other) const
Equality operator.
Definition: AudioFormat.cpp:57
uint16_t getNumChannels() const
Get the number of discrete audio channels.
Definition: AudioFormat.hpp:48
bool isMono() const
Test if this is single-channel (mono) audio.
Definition: AudioFormat.hpp:52
size_t getBytesPerSample() const
Get the number of data bytes per sample.
Definition: AudioFormat.cpp:38
Format
Audio format types.
Definition: AudioFormat.hpp:17
uint32_t getSampleRate() const
Get the sample rate, in Hz.
Definition: AudioFormat.hpp:40
WAV file format details at: https://ccrma.stanford.edu/courses/422/projects/WaveFormat/.
Definition: AccelerometerSensorEvent.cpp:3
bool operator!=(const AudioFormat &other) const
Inequality operator.
Definition: AudioFormat.hpp:69
Definition: AudioFormat.hpp:17
Format getFormat() const
Get the format type.
Definition: AudioFormat.hpp:36
bool isValid() const
Test if this AudioFormat is valid.
Definition: AudioFormat.cpp:46
bool isStereo() const
Test if this is dual-channel (stereo) audio.
Definition: AudioFormat.hpp:56
AudioFormat()
Construct a new, ininitialized AudioFormat object.
Definition: AudioFormat.cpp:8