3D Audio Engine
Learn how to add 3D sound effects and music into your games using OpenAL. The VMK in this section will show you how to play sound files based on game triggers (like creaky doors), learn to play sounds in a continuous loop for effects like machine gun sounds, and learn to stream audio for music playback.
Looking for server...
Welcome to the world of 3D sound playback. This VMK shows you how to get the OpenAL SDK installed on your computer and where to find documentation and help for the API.
1: Setup and Play
Visual C++ is set up in this VMK so that we can work with the OpenAL SDK. I explain the general concepts used in the OpenAL API framework and by the end of the video, we are able to do simple audio play back from a file.
2: Audio Buffer
The AudioManager project is started in this VMK and the AudioBuffer class is created. The AudioBuffer is used to store all sound files loaded into memory.
3: Audio Source
The AudioSource class is created in this VMK. This class is used to manage the OpenAL source objects that are attached to buffers.
4: Audio Manager
The beginnings of the AudioManager class are started in this VMK. This class manages both the AudioBuffers and AudioSources so that we can seamlessly create audio objects to use in our games and applications.
5: Playback Properties
In this VMK a few new functions are added to the AudioManager for playback. You will now be able to pause, stop, or change the volume.
6: Ogg Vorbis Setup
The Ogg Vorbis SDK files are downloaded and installed in this video so that we can start programming in the next VMK.
7: Play Ogg Files
The compiled ogg library files are added to the AudioManager project in this VMK. A new function is added to the AudioBuffer class to allow us to load *.ogg files into an OpenAL buffer so that we can play back its contents.
8: Audio Stream
Streaming audio from the hard drive out to the speakers is done using the AudioStream class which is developed in this VMK. Be sure to check out the comments in YouTube for bug fixes in this video.
9: Play a Stream of Audio
The AudioManager class is updated in this VMK so that a stream of audio can be created, deleted and played. Make sure you understand how multiple threads (Intro to C++ VMK 15) work before watching this video.
I have dedicated this video to do some cleanup work. A few variable name and function name changes. Near the end of the video I rewrite one function to allow us to easily change the master volume, or the volume of a source or stream.
11: Merge Source and Stream
A new AudioObject class is created which allows us to simplify the AudioManager when working with AudioSources and AudioStreams.
12: 3D Sound
In this video I demonstrate how to move sound around in 3D space two different ways, using the attached to listener property.
13: Error Checking
In this VMK I show how to fix the errors that can pop up from the AudioManager when you are dynamically adding and removing audio sources/streams.