Firelight Technologies FMOD Studio API
FMOD_OUTPUTTYPE
These output types are used with System::setOutput / System::getOutput, to choose which output method to use.
C/C++ Syntax
typedef enum {
FMOD_OUTPUTTYPE_AUTODETECT,
FMOD_OUTPUTTYPE_UNKNOWN,
FMOD_OUTPUTTYPE_NOSOUND,
FMOD_OUTPUTTYPE_WAVWRITER,
FMOD_OUTPUTTYPE_NOSOUND_NRT,
FMOD_OUTPUTTYPE_WAVWRITER_NRT,
FMOD_OUTPUTTYPE_DSOUND,
FMOD_OUTPUTTYPE_WINMM,
FMOD_OUTPUTTYPE_WASAPI,
FMOD_OUTPUTTYPE_ASIO,
FMOD_OUTPUTTYPE_PULSEAUDIO,
FMOD_OUTPUTTYPE_ALSA,
FMOD_OUTPUTTYPE_COREAUDIO,
FMOD_OUTPUTTYPE_XAUDIO,
FMOD_OUTPUTTYPE_PS3,
FMOD_OUTPUTTYPE_AUDIOTRACK,
FMOD_OUTPUTTYPE_OPENSL,
FMOD_OUTPUTTYPE_WIIU,
FMOD_OUTPUTTYPE_AUDIOOUT,
FMOD_OUTPUTTYPE_AUDIO3D,
FMOD_OUTPUTTYPE_ATMOS,
FMOD_OUTPUTTYPE_WEBAUDIO,
FMOD_OUTPUTTYPE_NNAUDIO,
FMOD_OUTPUTTYPE_WINSONIC,
FMOD_OUTPUTTYPE_MAX
} FMOD_OUTPUTTYPE;
JavaScript Syntax
FMOD.OUTPUTTYPE_AUTODETECT
FMOD.OUTPUTTYPE_UNKNOWN
FMOD.OUTPUTTYPE_NOSOUND
FMOD.OUTPUTTYPE_WAVWRITER
FMOD.OUTPUTTYPE_NOSOUND_NRT
FMOD.OUTPUTTYPE_WAVWRITER_NRT
FMOD.OUTPUTTYPE_DSOUND
FMOD.OUTPUTTYPE_WINMM
FMOD.OUTPUTTYPE_WASAPI
FMOD.OUTPUTTYPE_ASIO
FMOD.OUTPUTTYPE_PULSEAUDIO
FMOD.OUTPUTTYPE_ALSA
FMOD.OUTPUTTYPE_COREAUDIO
FMOD.OUTPUTTYPE_XAUDIO
FMOD.OUTPUTTYPE_PS3
FMOD.OUTPUTTYPE_AUDIOTRACK
FMOD.OUTPUTTYPE_OPENSL
FMOD.OUTPUTTYPE_WIIU
FMOD.OUTPUTTYPE_AUDIOOUT
FMOD.OUTPUTTYPE_AUDIO3D
FMOD.OUTPUTTYPE_ATMOS
FMOD.OUTPUTTYPE_WEBAUDIO
FMOD.OUTPUTTYPE_NNAUDIO
FMOD.OUTPUTTYPE_MAX
FMOD.OUTPUTTYPE_FORCEINT
Values
FMOD_OUTPUTTYPE_AUTODETECT
Picks the best output mode for the platform. This is the default.
FMOD_OUTPUTTYPE_UNKNOWN
All - 3rd party plugin, unknown. This is for use with System::getOutput only.
FMOD_OUTPUTTYPE_NOSOUND
All - Perform all mixing but discard the final output.
FMOD_OUTPUTTYPE_WAVWRITER
All - Writes output to a .wav file.
FMOD_OUTPUTTYPE_NOSOUND_NRT
All - Non-realtime version of FMOD_OUTPUTTYPE_NOSOUND. User can drive mixer with System::update at whatever rate they want.
FMOD_OUTPUTTYPE_WAVWRITER_NRT
All - Non-realtime version of FMOD_OUTPUTTYPE_WAVWRITER. User can drive mixer with System::update at whatever rate they want.
FMOD_OUTPUTTYPE_DSOUND
Win - Direct Sound. (Default on Windows XP and below)
FMOD_OUTPUTTYPE_WINMM
Win - Windows Multimedia.
FMOD_OUTPUTTYPE_WASAPI
Win/WinStore/XboxOne - Windows Audio Session API. (Default on Windows Vista and above, Xbox One and Windows Store Applications)
FMOD_OUTPUTTYPE_ASIO
Win - Low latency ASIO 2.0.
FMOD_OUTPUTTYPE_PULSEAUDIO
Linux - Pulse Audio. (Default on Linux if available)
FMOD_OUTPUTTYPE_ALSA
Linux - Advanced Linux Sound Architecture. (Default on Linux if PulseAudio isn't available)
FMOD_OUTPUTTYPE_COREAUDIO
Mac/iOS - Core Audio. (Default on Mac and iOS)
FMOD_OUTPUTTYPE_XAUDIO
Xbox 360 - XAudio. (Default on Xbox 360)
FMOD_OUTPUTTYPE_PS3
PS3 - Audio Out. (Default on PS3)
FMOD_OUTPUTTYPE_AUDIOTRACK
Android - Java Audio Track. (Default on Android 2.2 and below)
FMOD_OUTPUTTYPE_OPENSL
Android - OpenSL ES. (Default on Android 2.3 and above)
FMOD_OUTPUTTYPE_WIIU
Wii U - AX. (Default on Wii U)
FMOD_OUTPUTTYPE_AUDIOOUT
PS4/PSVita - Audio Out. (Default on PS4 and PS Vita)
FMOD_OUTPUTTYPE_AUDIO3D
PS4 - Audio3D.
FMOD_OUTPUTTYPE_ATMOS
Win - Dolby Atmos (WASAPI).
FMOD_OUTPUTTYPE_WEBAUDIO
Web Browser - JavaScript webaudio output. (Default on JavaScript)
FMOD_OUTPUTTYPE_NNAUDIO
NX - NX nn::audio. (Default on NX)
FMOD_OUTPUTTYPE_WINSONIC
Win10 / XboxOne - Windows Sonic.
FMOD_OUTPUTTYPE_MAX
Maximum number of output types supported.
Remarks
To pass information to the driver when initializing fmod use the extradriverdata parameter in System::init for the following reasons.
- FMOD_OUTPUTTYPE_WAVWRITER - extradriverdata is a pointer to a char * file name that the wav writer will output to.
- FMOD_OUTPUTTYPE_WAVWRITER_NRT - extradriverdata is a pointer to a char * file name that the wav writer will output to.
- FMOD_OUTPUTTYPE_DSOUND - extradriverdata is cast to a HWND type, so that FMOD can set the focus on the audio for a particular window.
- FMOD_OUTPUTTYPE_PS3 - extradriverdata is a pointer to a FMOD_PS3_EXTRADRIVERDATA struct. This can be found in fmodps3.h.
- FMOD_OUTPUTTYPE_XAUDIO - (Xbox360) extradriverdata is a pointer to a FMOD_360_EXTRADRIVERDATA struct. This can be found in fmodxbox360.h.
Currently these are the only FMOD drivers that take extra information. Other unknown plugins may have different requirements.
Note! If FMOD_OUTPUTTYPE_WAVWRITER_NRT or FMOD_OUTPUTTYPE_NOSOUND_NRT are used, and if the System::update function is being called very quickly (ie for a non realtime decode) it may be being called too quickly for the FMOD streamer thread to respond to. The result will be a skipping/stuttering output in the captured audio.
To remedy this, disable the FMOD streamer thread, and use FMOD_INIT_STREAM_FROM_UPDATE to avoid skipping in the output stream, as it will lock the mixer and the streamer together in the same thread.
See Also
Version 1.10.03 Built on Feb 1, 2018