namespace
AudioAudio playback.
Contents
- Reference
Audio import, playback and integration with SceneGraph.
This library depends on the OpenAL library. It is built if WITH_AUDIO
is enabled when building Magnum. To use this library with CMake, you need to copy FindOpenAL.cmake from the modules/
directory in Magnum sources to a modules/
dir in your project and pointing CMAKE_MODULE_PATH
to it (if not done already) so it is able to correctly find the OpenAL library on all platforms. Then request the Audio
component of the Magnum
package and link to the Magnum::Audio
target:
# Path where FindOpenAL.cmake can be found, adapt as needed set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/modules/" ${CMAKE_MODULE_PATH}) find_package(Magnum REQUIRED Audio) # ... target_link_libraries(your-app Magnum::Audio)
Additional plugins and utilities are built separately. See particular Audio::*Importer
class documentation, the magnum-al-info utility documentation, Downloading and building, Downloading and building plugins, Usage with CMake, Plugin usage with CMake and Loading and using plugins for more information.
Namespaces
- namespace Extensions
- Compile-time information about OpenAL extensions.
Classes
- class AbstractImporter
- Base for audio importer plugins.
- class AnyImporter
- Any audio importer plugin.
- class Buffer
- Sample buffer.
- class Context
- OpenAL context.
- class DrFlacImporter
- FLAC audio importer plugin using dr_flac.
- class DrMp3Importer new in 2019.10
- MP3 audio importer plugin using dr_mp3.
- class DrWavImporter
- WAV audio importer plugin using dr_wav.
- class Extension
- Run-time information about OpenAL extension.
- class Faad2Importer
- AAC audio importer plugin using FAAD2.
-
template<UnsignedInt dimensions>class Listener
- Listener.
-
template<UnsignedInt dimensions>class Playable
- Playable.
-
template<UnsignedInt dimensions>class PlayableGroup
- PlayableGroup.
- class Renderer
- Global renderer configuration.
- class Source
- Source.
- class StbVorbisImporter
- OGG audio importer plugin using stb_vorbis.
- class WavImporter
- WAV importer plugin.
Enums
- enum class BufferFormat: ALenum { Mono8 = AL_FORMAT_MONO8, Mono16 = AL_FORMAT_MONO16, Stereo8 = AL_FORMAT_STEREO8, Stereo16 = AL_FORMAT_STEREO16, MonoALaw = AL_FORMAT_MONO_ALAW_EXT, StereoALaw = AL_FORMAT_STEREO_ALAW_EXT, MonoMuLaw = AL_FORMAT_MONO_MULAW_EXT, StereoMuLaw = AL_FORMAT_STEREO_MULAW_EXT, MonoFloat = AL_FORMAT_MONO_FLOAT32, StereoFloat = AL_FORMAT_STEREO_FLOAT32, MonoDouble = AL_FORMAT_MONO_DOUBLE_EXT, StereoDouble = AL_FORMAT_STEREO_DOUBLE_EXT, Quad8 = AL_FORMAT_QUAD8, Quad16 = AL_FORMAT_QUAD16, Quad32 = AL_FORMAT_QUAD32, Rear8 = AL_FORMAT_REAR8, Rear16 = AL_FORMAT_REAR16, Rear32 = AL_FORMAT_REAR32, Surround51Channel8 = AL_FORMAT_51CHN8, Surround51Channel16 = AL_FORMAT_51CHN16, Surround51Channel32 = AL_FORMAT_51CHN32, Surround61Channel8 = AL_FORMAT_61CHN8, Surround61Channel16 = AL_FORMAT_61CHN16, Surround61Channel32 = AL_FORMAT_61CHN32, Surround71Channel8 = AL_FORMAT_71CHN8, Surround71Channel16 = AL_FORMAT_71CHN16, Surround71Channel32 = AL_FORMAT_71CHN32 }
- Buffer sample format.
Typedefs
- using Listener2D = Listener<2>
- Listener for two-dimensional float scenes.
- using Listener3D = Listener<3>
- Listener for three-dimensional float scenes.
- using Playable2D = Playable<2>
- Playable for two-dimensional float scenes.
- using Playable3D = Playable<3>
- Playable for three-dimensional float scenes.
- using PlayableGroup2D = PlayableGroup<2>
- Playable group for two dimensional float scenes.
- using PlayableGroup3D = PlayableGroup<3>
- Playable group for three dimensional float scenes.
Functions
-
auto operator<<(Debug& debug,
AbstractImporter::
Feature value) -> Debug& - Debug output operator.
-
auto operator<<(Debug& debug,
AbstractImporter::
Features value) -> Debug& - Debug output operator.
- auto operator<<(Debug& debug, BufferFormat value) -> Debug&
- Debug output operator.
-
auto operator<<(Debug& debug,
Context::
HrtfStatus value) -> Debug& - Debug output operator.
-
auto operator<<(Debug& debug,
Renderer::
Error value) -> Debug& - Debug output operator.
-
auto operator<<(Debug& debug,
Renderer::
DistanceModel value) -> Debug& - Debug output operator.
-
auto operator<<(Debug& debug,
Source::
State value) -> Debug& - Debug output operator.
-
auto operator<<(Debug& debug,
Source::
Type value) -> Debug& - Debug output operator.
Enum documentation
enum class Magnum:: Audio:: BufferFormat: ALenum
#include <Magnum/Audio/BufferFormat.h>
Buffer sample format.
Enumerators | |
---|---|
Mono8 |
8-bit unsigned mono |
Mono16 |
16-bit signed mono |
Stereo8 |
8-bit interleaved unsigned stereo |
Stereo16 |
16-bit interleaved signed stereo |
MonoALaw |
8-bit mono A-Law Compressed Sound Format |
StereoALaw |
8-bit interleaved stereo A-Law Compressed Sound Format |
MonoMuLaw |
8-bit mono μ-Law Compressed Sound Format |
StereoMuLaw |
8-bit interleaved μ-Law Compressed Sound Format |
MonoFloat |
32-bit floating-point mono |
StereoFloat |
32-bit interleaved floating-point stereo |
MonoDouble |
64-bit floating-point mono |
StereoDouble |
64-bit interleaved floating-point stereo |
Quad8 |
8-bit unsigned quadrophonic |
Quad16 |
16-bit signed quadrophonic |
Quad32 |
32-bit interleaved floating-point quadrophonic |
Rear8 |
8-bit unsigned rear |
Rear16 |
16-bit signed rear |
Rear32 |
32-bit interleaved floating-point rear |
Surround51Channel8 |
8-bit unsigned 5.1 surround |
Surround51Channel16 |
16-bit signed 5.1 surround |
Surround51Channel32 |
32-bit interleaved floating-point 5.1 surround |
Surround61Channel8 |
8-bit unsigned 6.1 surround |
Surround61Channel16 |
16-bit signed 6.1 surround |
Surround61Channel32 |
32-bit interleaved floating-point 6.1 surround |
Surround71Channel8 |
8-bit unsigned 7.1 surround |
Surround71Channel16 |
16-bit signed 7.1 surround |
Surround71Channel32 |
32-bit interleaved floating-point 7.1 surround |
Typedef documentation
typedef Listener<2> Magnum:: Audio:: Listener2D
#include <Magnum/Audio/Listener.h>
Listener for two-dimensional float scenes.
typedef Listener<3> Magnum:: Audio:: Listener3D
#include <Magnum/Audio/Listener.h>
Listener for three-dimensional float scenes.
typedef Playable<2> Magnum:: Audio:: Playable2D
#include <Magnum/Audio/Playable.h>
Playable for two-dimensional float scenes.
typedef Playable<3> Magnum:: Audio:: Playable3D
#include <Magnum/Audio/Playable.h>
Playable for three-dimensional float scenes.
typedef PlayableGroup<2> Magnum:: Audio:: PlayableGroup2D
#include <Magnum/Audio/PlayableGroup.h>
Playable group for two dimensional float scenes.
typedef PlayableGroup<3> Magnum:: Audio:: PlayableGroup3D
#include <Magnum/Audio/PlayableGroup.h>
Playable group for three dimensional float scenes.
Function documentation
Debug& Magnum:: Audio:: operator<<(Debug& debug,
AbstractImporter:: Feature value)
#include <Magnum/Audio/AbstractImporter.h>
Debug output operator.
Debug& Magnum:: Audio:: operator<<(Debug& debug,
AbstractImporter:: Features value)
#include <Magnum/Audio/AbstractImporter.h>
Debug output operator.
Debug& Magnum:: Audio:: operator<<(Debug& debug,
BufferFormat value)
#include <Magnum/Audio/BufferFormat.h>
Debug output operator.
Debug& Magnum:: Audio:: operator<<(Debug& debug,
Context:: HrtfStatus value)
#include <Magnum/Audio/Context.h>
Debug output operator.
Debug& Magnum:: Audio:: operator<<(Debug& debug,
Renderer:: Error value)
#include <Magnum/Audio/Renderer.h>
Debug output operator.
Debug& Magnum:: Audio:: operator<<(Debug& debug,
Renderer:: DistanceModel value)
#include <Magnum/Audio/Renderer.h>
Debug output operator.
Debug& Magnum:: Audio:: operator<<(Debug& debug,
Source:: State value)
#include <Magnum/Audio/Source.h>
Debug output operator.
Debug& Magnum:: Audio:: operator<<(Debug& debug,
Source:: Type value)
#include <Magnum/Audio/Source.h>
Debug output operator.