00001
00002 #ifndef IAUDIO_H
00003 #define IAUDIO_H
00004
00005 #include <string>
00006
00007 namespace cAudio
00008 {
00009 class IAudio
00010 {
00011 public:
00012 IAudio() {}
00013 virtual ~IAudio() {}
00014
00015 virtual void open(const std::string& path) = 0;
00016 virtual void openstream(const std::string& path) = 0;
00017 virtual void play() = 0;
00018 virtual void play2d(bool loop = false) = 0;
00019 virtual void play3d(bool loop = false, float x = 0.0, float y = 0.0, float z = 0.0, float soundstr = 1.0) = 0;
00020 virtual void setPosition(float posx,float posy,float posz) = 0;
00021 virtual void setVelocity(float velx,float vely,float velz) = 0;
00022 virtual void setDirection(float dirx,float diry,float dirz) = 0;
00023 virtual void setPitch(float pitch) = 0;
00024 virtual void setStrength(float soundstrength) = 0;
00025 virtual void setVolume(float volume) = 0;
00026 virtual void setDopplerStrength(float doop) = 0;
00027 virtual void setDopplerVelocity(float doopx,float doopy,float doopz) = 0;
00028
00029 virtual void release() = 0;
00030 virtual void pause() = 0;
00031 virtual void loop(bool loop) = 0;
00032 virtual void stop() = 0;
00033
00034 virtual bool playback() = 0;
00035 virtual bool playing() = 0;
00036 virtual bool update() = 0;
00037 virtual bool isvalid() = 0;
00038 protected:
00039 private:
00040 };
00041 }
00042 #endif // IAUDIO_H