AireEngine
A 3D Open-World Game Engine
Loading...
Searching...
No Matches
audioEngine.h
1#pragma once
2
3#include <AL/al.h>
4#include <AL/alc.h>
5
6#include <glm/fwd.hpp>
7
8#include <vector>
9#include <string>
10
11namespace Aire
12{
13 class AudioSource;
14 class AudioListener;
15
20 {
21 public:
26
31
40 AudioSource* createAudioSource(const std::string& soundFile, float x, float y, float z);
41
48 AudioSource* createAudioSource(const std::string& soundFile, const glm::vec3& pos);
49
55
56 private:
57 ALCdevice* device = nullptr;
58 ALCcontext* context = nullptr;
60 AudioListener* uniqueListener = nullptr;
61 std::vector<AudioSource*> sources;
62 };
63}
The AudioEngine class manages the audio system.
Definition audioEngine.h:20
AudioListener * getUniqueListener() const
Gets the unique instance of the AudioListener.
Definition audioEngine.cpp:59
~AudioEngine()
Destroys the AudioEngine object.
Definition audioEngine.cpp:29
AudioSource * createAudioSource(const std::string &soundFile, float x, float y, float z)
Creates an AudioSource object with the specified sound file and position.
Definition audioEngine.cpp:45
AudioEngine()
Constructs an AudioEngine object.
Definition audioEngine.cpp:9
AudioListener class to listen to sound effects.
Definition audioListener.h:16
AudioSource class to play sound effects.
Definition audioSource.h:17