Core API

Contents

Core API#

FmodServer#

Inherits: Object

manages FMOD audio lifecycle.

Description#

FmodServer is a global singleton for managing the FMOD Core API audio system in Godot. It initializes and maintains the main FMOD system instance, registers performance monitors for CPU and file usage, manages the audio bus layout, and connects to Godot’s SceneTree for per-frame updates.

The server initializes automatically when the GDExtension is loaded and handles the FMOD lifecycle. The performance monitors it creates can be viewed in Godot’s Debugger > Monitors tab to track FMOD resource usage.

performance monitor:.

To Godot:

FmodCPUUsage/DSP

DSP CPU.

FmodCPUUsage/Stream

Stream decoding CPU usage percentage.

FmodCPUUsage/Geometry

3D CPU.

FmodCPUUsage/Update

Updates CPU.

FmodCPUUsage/Convolution1

Reverb 1 CPU.

FmodCPUUsage/Convolution2

Reverb 2 CPU.

FmodFileUsage/SampleBytesRead

Sample bytes read from disk.

FmodFileUsage/StreamBytesRead

Stream bytes read from disk.

FmodFileUsage/OtherBytesRead

Other bytes read from disk.

Methods#

void generate_bus_layout() static#

Audio bus.

Scans the Godot AudioServer bus hierarchy and creates matching FmodAudioBusLayout and FmodAudioBus instances so the FMOD bus structure stays synchronized with Godot’s bus structure.

FmodAudioBusLayout get_audio_bus_layout() static#

Returns the audio bus layout used to manage buses and routing. The layout is synchronized with Godot’s AudioServer bus layout and provides FMOD-specific bus features, including DSP effects.

FmodSystem get_main_system() static#

Returns the main FMOD system instance. This is the primary interface for creating sounds, channels, DSP effects, and other FMOD objects. The system is initialized automatically from project settings when the server starts.

FmodChannelGroup get_master_channel_group() static#

Returns the master channel group through which all sounds pass by default. It is the root of the channel group hierarchy and can control global volume, pitch, and effects for all currently playing sounds.

void reset_main_system(system: FmodSystem) static#

FMOD instance.

FmodSystem#

Inherits: RefCounted

FMOD::System object, provides audio manages and controls.

Description#

FmodSystem wraps the FMOD::System object from the FMOD Core API and provides comprehensive audio system management. It is responsible for system initialization, audio device management, sound creation, playback control, and recording.

FMOD System is the core of the FMOD audio engine. It manages the mixer, channels, sounds, DSP effects, and output devices. Advanced use cases can create multiple FmodSystem instances; common projects usually use the global singleton through FmodServer.

Properties#

Type

Name

Default

Description

float

3d_max_world_size

1000.0

3D occlusion.

int

3d_num_listeners

1

3D audio listener.

int

asio_num_channels

0

ASIO input and output channel.

int

default_decode_buffer_size

0

Default size of the stream decoding double buffer.

float

distance_factor

1.0

Distance to.

float

distance_filter_center_freq

0.0

Distance filter default.

float

doppler_scale

1.0

Doppler effect.

int

dsp_buffer_pool_size

0

Number of intermediate DSP mix buffers.

int

geometry_max_fade_time

0

Occlusion volume when.

int

max_adpcm_codecs

0

IMA-ADPCM.

int

max_at9_codecs

0

Maximum AT9 decoder count.

int

max_convolution_threads

0

Reverb DSP.

int

max_fadpcm_codecs

0

Maximum FADPCM decoder count.

int

max_mpeg_codecs

0

Maximum MPEG decoder count.

int

max_opus_codecs

0

Maximum Opus decoder count.

int

max_software_channels

0

Mixing channel.

int

max_spatial_objects

0

Maximum spatial object count reserved per system.

int

max_vorbis_codecs

0

Maximum Vorbis decoder count.

int

max_xma_codecs

0

Maximum XMA decoder count.

int

profile_port

0

FMOD Profiler.

int

random_seed

0

Internal random number generator seed.

FmodResamplerMethod

resampler_method

0

Software mixer resampling method.

int

reverb_3d_instance

0

Reverb3D reverb instance.

float

rolloff_scale

1.0

3D distance attenuation.

float

vol0_virtual_vol

0.0

Volume as.

Methods#

Validity Check#

bool system_is_null() const#

Returns true if instance or.

bool system_is_valid() const#

Returns true if instance successfully and FMOD can.

Manages.#

FmodSystem create_system() static#

Creates and returns a new FMOD System instance. For most applications, use the global singleton from FmodServer instead of creating multiple systems directly.

void init(max_channels: int = 32, flags: FmodInitFlags = 32)#

Specified channel and FMOD.

max_channels —— parameter when channel (range: 0-4096).

flags —— parameter FmodInitFlags

void close()#

Closes the connection to the output device and returns the system to an uninitialized state without releasing the object. The system can be initialized again by calling init().

void release()#

Connection and releases. after, object,.

void update()#

Updates the FMOD system. Call this regularly, usually once per frame, to process streams, 3D positioning, and non-real-time output modes.

FmodInitFlags FMOD_INIT_FLAG_STREAM_FROM_UPDATE or FMOD_INIT_FLAG_MIX_FROM_UPDATE when, as, as audio.

void mixer_suspend()#

Pause mixing, when releases audio, internal state. in audio when.

void mixer_resume()#

Resume mixing and gets audio. in mixer_suspend() after resume audio.

Device Selection#

void set_output(output_type: FmodOutputType)#

Sets used for mixing output. in init() before.

FMOD_OUTPUT_TYPE_AUTODETECT, FMOD_OUTPUT_TYPE_WASAPI (Windows) and FMOD_OUTPUT_TYPE_NOSOUND (mute).

FmodOutputType get_output() const#

Returns current used for mixing output.

int get_num_drivers() const#

Returns the number of output drivers available for the currently selected output type.

Dictionary get_driver_info(id: int) const#

Returns identification information for the audio device at the specified index.

Returns :.

Key Name

Type

Description

name

String

Name.

guid

String

As {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}

system_rate

int

Default.

speaker_mode

FmodSpeakerMode

Default.

speaker_mode_channels

int

Default channel.

void set_driver(driver: int)#

Sets current output output. get_driver_info() can.

int get_driver() const#

Returns current output output index.

Sets.#

void set_software_channels(num_software_channels: int)#

Sets the maximum number of Channels available to the software mixer.

int get_software_channels() const#

Returns the maximum number of Channels available to the software mixer.

void set_software_format(sample_rate: int, speaker_mode: FmodSpeakerMode, num_raw_speakers: int)#

Sets mixing output.

  • sample_rate —— output, unit as (usually as 44100 or 48000).

  • speaker_mode —— output (, 5.1).

  • num_raw_speakers – Number of speakers in raw speaker mode.

Warning

In init() before.

Dictionary get_software_format() const#

Returns current sets.

Key Name

Type

Description

sample_rate

int

Current output.

speaker_mode

FmodSpeakerMode

Current output.

num_raw_speakers

int

Number of speakers in raw speaker mode.

void set_dsp_buffer_size(buffer_length: int, num_buffers: int)#

Sets mixing DSP.

Warning

Can delay, will CPU and audio, in init() before !.

Dictionary get_dsp_buffer_size() const#

Returns the current DSP buffer size settings as a dictionary containing:

Key Name

Type

Description

buffer_length

int

Sample length of each buffer.

num_buffers

int

Number of buffers in the ring buffer.

void set_stream_buffer_size(file_buffer_size: int = 16384, file_buffer_size_type: FmodTimeUnit = FMOD_TIME_UNIT_RAWBYTES)#

Sets sound default.

Will as audio file.

Dictionary get_stream_buffer_size() const#

Returns current sets,:

Key Name

Type

Description

file_buffer_size

int

Stream buffer size.

file_buffer_size_type

FmodTimeUnit

When unit.

void set_speaker_position(speaker: FmodSpeaker, x: float, y: float, active: bool)#

Sets in position.

As sets position.

Position for specified.

Dictionary get_speaker_position(speaker: FmodSpeaker) const#

Returns the position of the specified speaker as a dictionary containing:

Key Name

Type

Description

x

float

X coordinate.

y

float

Y coordinate.

active

bool

Whether the speaker is active.

3D sound sets.#

void set_doppler_scale(doppler_scale: float)#

Sets Doppler effect.

float get_doppler_scale() const#

Returns Doppler effect.

void set_distance_factor(distance_factor: float)#

Sets distance to.

float get_distance_factor() const#

Returns distance to.

void set_rolloff_scale(rolloff_scale: float)#

Sets 3D distance attenuation.

float get_rolloff_scale() const#

Returns 3D distance attenuation.

void set_3d_num_listeners(num_listeners: int)#

Sets 3D sound listener.

int get_3d_num_listeners() const#

Returns 3D sound listener.

Sets.#

void set_max_mpeg_codecs(max_codecs: int)#

Sets MPEG.

int get_max_mpeg_codecs() const#

Returns MPEG.

void set_max_adpcm_codecs(max_codecs: int)#

Sets IMA-ADPCM.

int get_max_adpcm_codecs() const#

Returns IMA-ADPCM.

void set_max_xma_codecs(max_codecs: int)#

Sets XMA.

int get_max_xma_codecs() const#

Returns XMA.

void set_max_vorbis_codecs(max_codecs: int)#

Sets Vorbis.

int get_max_vorbis_codecs() const#

Returns Vorbis.

void set_max_at9_codecs(max_codecs: int)#

Sets AT9.

int get_max_at9_codecs() const#

Returns AT9.

void set_max_fadpcm_codecs(max_codecs: int)#

Sets FADPCM.

int get_max_fadpcm_codecs() const#

Returns FADPCM.

void set_max_opus_codecs(max_codecs: int)#

Sets Opus.

int get_max_opus_codecs() const#

Returns Opus.

void set_asio_num_channels(num_channels: int)#

Sets ASIO input and output channel.

int get_asio_num_channels() const#

Returns ASIO input and output channel.

void set_vol0_virtual_vol(vol: float)#

Sets volume when as.

float get_vol0_virtual_vol() const#

Returns volume when as.

void set_default_decode_buffer_size(size: int)#

Sets default.

int get_default_decode_buffer_size() const#

Returns default.

void set_profile_port(port: int)#

Sets FMOD Profiler.

int get_profile_port() const#

Returns FMOD Profiler.

void set_geometry_max_fade_time(time: int)#

Sets occlusion when Channel volume when.

int get_geometry_max_fade_time() const#

Returns occlusion when Channel volume when.

void set_distance_filter_center_freq(freq: float)#

Sets distance filter default.

float get_distance_filter_center_freq() const#

Returns distance filter default.

void set_reverb_3d_instance(instance: int)#

Sets Reverb3D reverb instance index.

int get_reverb_3d_instance() const#

Returns Reverb3D reverb instance index.

void set_dsp_buffer_pool_size(size: int)#

Sets DSP.

int get_dsp_buffer_pool_size() const#

Returns DSP.

void set_resampler_method(method: FmodResamplerMethod)#

Sets mixing.

FmodResamplerMethod get_resampler_method() const#

Returns mixing.

void set_random_seed(seed: int)#

Sets FMOD internal.

int get_random_seed() const#

Returns FMOD internal.

void set_max_convolution_threads(max_threads: int)#

Sets reverb DSP can CPU.

int get_max_convolution_threads() const#

Returns reverb DSP can CPU.

void set_max_spatial_objects(max_objects: int)#

Sets the maximum number of spatial objects that can be reserved per FmodSystem.

int get_max_spatial_objects() const#

Returns the maximum number of spatial objects that can be reserved per FmodSystem.

void set_network_proxy(proxy: String)#

As after connection sets URL.

Pass an empty string to disable the proxy.

Note

Host:port specified, www.fmod.com:8888 (if specified, default as 80).

user:password@host:port, bob:sekrit123@www.fmod.com:8888

String get_network_proxy() const#

Returns used for connection URL.

void set_network_timeout(timeout: int)#

Sets when when (as unit). will FMOD in as before when.

int get_network_timeout() const#

Returns when when (as unit).

System Information#

Dictionary get_version() const#

Returns FMOD version.

Returns :.

Key Name

Type

Description

version

String

FMOD version as product.major.minor

build_number

String

FMOD build number string.

int get_output_handle() const#

Returns output handle. for Windows, usually WASAPI or DirectSound handle.

Note

For needs underlying audio.

Dictionary get_channels_playing() const#

Returns current.

Returns :.

Key Name

Type

Description

channels

int

Current in.

real_channels

int

Number of actually audible channels.

Dictionary get_cpu_usage() const#

Returns Core API CPU.

Dictionary get_file_usage() const#

Returns file read usage, including bytes read for samples, streams, and other data.

PackedFloat32Array get_default_mix_matrix(source_speaker_mode: FmodSpeakerMode, target_speaker_mode: FmodSpeakerMode, array_length: int, hop: int) const#

Returns to default mix matrix.

int get_speaker_mode_channels(mode: FmodSpeakerMode) const#

Returns the channel count for the specified speaker mode.

FmodSound create_sound_from_file(path: String, mode: int) const#

File path creates FmodSound. if path res://, internal create_sound_from_res().

  • mode —— parameter FmodMode specified creates.

FmodSound create_sound_from_memory(data: PackedByteArray, mode: int) const#

Memory load audio data creates FmodSound, will adds FMOD_MODE_OPENMEMORY. audio data in sound. for file or load sound.

  • mode —— parameter FmodMode specified creates.

FmodSound create_sound_from_res(path: String, mode: int) const#

Godot path (res://) creates FmodSound, will internal create_sound_from_memory(). file through Godot file load memory, after FMOD.

  • mode —— parameter FmodMode specified creates.

FmodSound create_stream_from_file(path: String, mode: int) const#

File creates FmodSound. will when audio data, for file memory.

  • mode —— parameter FmodMode specified creates.

FmodDSP create_dsp(name: String) const#

Specified name creates DSP effect. creates DSP can when audio.

FmodDSP create_dsp_by_type(type: int) const#

Creates specified DSP effect. get_dsp_info_by_type() queries can DSP.

FmodChannelGroup create_channel_group(name: String) const#

Specified name creates FmodChannelGroup. channel group channel, volume, and effect controls.

FmodSoundGroup create_sound_group(name: String) const#

Specified name creates FmodSoundGroup.

Sound sound to and controls.

For manages sound, sound or can.

FmodReverb3D create_reverb_3d() const#

Creates a 3D reverb zone for spatial audio reverb effects.

Returns a FmodReverb3D object that can be positioned in 3D space and configured with reverb parameters.

Use this to create environmental acoustics such as caves, halls, or rooms.

FmodChannel play_sound(sound: FmodSound, channel_group: FmodChannelGroup, paused: bool) const#

Plays a sound on a Channel and routes it through the specified ChannelGroup.

If paused as true, channel pause state, to FmodChannelControl.set_paused() and false will sound.

Returns a FmodChannel handle that can be used to control playback.

FmodChannel play_dsp(dsp: FmodDSP, channel_group: FmodChannelGroup, paused: bool) const#

In channel DSP input, through specified channel group routing.

If paused as true, channel pause state, and in FmodChannelControl.set_paused() and false before will sound.

Returns a FmodChannel handle that can be used to control playback.

FmodChannel get_channel(id: int) const#

Through ID FmodChannel handle. channel in when will ID.

Dictionary get_dsp_info_by_type(type: int) const#

Retrieves information about a built-in DSP type.

Returns :.

Key Name

Type

Description

name

String

DSP name.

version

int

Version.

plugin_sdk_version

int

FMOD SDK version.

num_input_buffers

int

Input.

num_output_buffers

int

Output.

has_create

bool

DSP creates callback.

has_release

bool

DSP releases callback.

has_reset

bool

DSP callback.

has_setposition

bool

DSP sets position callback.

has_read

bool

DSP callback.

has_should_i_process

bool

DSP in before callback.

FmodChannelGroup get_master_channel_group() const#

Returns sound routing to master channel group. controls volume, adds effect or output.

FmodSoundGroup get_master_sound_group() const#

Returns sound default sound.

The master sound group can be used to set global playback limits and control the overall behavior of all sounds.

Controls.#

void set_3d_listener_attributes(listener: int, position: Vector3, velocity: Vector3, forward: vector3, up: Vector3)#

Sets 3D listener position, velocity and direction.

Listener index specified listener (used for listener sets).

  • position —— position.

  • velocity —— velocity, used for Doppler calculates.

  • forward —— before.

  • up – The listener up vector.

Dictionary get_3d_listener_attributes(listener: int) const#

Returns the specified listener’s 3D attributes as a dictionary:

Key Name

Type

Description

position

Vector3

Position.

velocity

Vector3

Velocity, used for Doppler calculates.

forward

Vector3

Before.

up

Vector3

Listener up vector.

void set_reverb_properties(instance: int, decay_time: float, early_delay: float, late_delay: float, hf_reference: float, hf_decay_ratio: float, diffusion: float, density: float, low_shelf_frequency: float, low_shelf_gain: float, high_cut: float, early_late_mix: float, wet_level: float)#

Sets the reverb properties for the specified reverb instance.

The reverb instance ID is the ID of the FmodReverb3D object created by create_reverb_3d().

  • decay_time —— reverb attenuation when, unit as.

  • early_delay —— delay when, unit as.

  • late_delay —— after delay when, unit as.

  • hf_reference —— attenuation, unit as.

  • hf_decay_ratio —— attenuation when and attenuation when.

  • diffusion —— reverb.

  • density —— reverb.

  • low_shelf_frequency —— filter, unit as.

  • low_shelf_gain —— filter, unit as.

  • high_cut —— reverb, unit as.

  • early_late_mix —— and after.

  • wet_level —— (reverb), unit as.

Dictionary get_reverb_properties(instance: int) const#

Returns the reverb properties for the specified global reverb instance as a dictionary containing all parameters:

Key Name

Type

Description

decay_time

float

Reverb attenuation when, unit as, default 1500, range: 0-20000.

early_delay

float

Delay when, unit as, default 7, range: 0-300.

late_delay

float

After delay when, unit as, default 11, range: 0-100.

hf_reference

float

Attenuation, unit as, default 5000, range: 20-20000.

hf_decay_ratio

float

Attenuation when and attenuation when, default 50%, range: 10-100%.

diffusion

float

Reverb, default 50%, range 10-100%.

density

float

Reverb, default 100%, range 0-100%.

low_shelf_frequency

float

Filter, unit as, default 250, range: 20-1000.

low_shelf_gain

float

Filter, unit as, default 0, range: -36-12.

high_cut

float

Reverb, unit as, default 20000, range: 0-20000.

early_late_mix

float

And after, default 50%, range: 0-100%.

wet_level

float

(reverb), unit as, default -6, range: -80-20.

void attach_channel_group_to_port(channel_group: FmodChannelGroup, prot_type: FmodPortType, port_index: int = -1, pass_thru: bool = false)#

Channel group output to output audio.

Audio routing to output, controls or output.

See also

FmodPortType can.

void detach_channel_group_from_port(channel_group: FmodChannelGroup)#

Channel group audio.

Channel group resume to output routing.

Recording#

Dictionary get_record_num_drivers() const#

Returns information about the available recording devices.

Returns :.

Key Name

Type

Description

num_drivers

int

Total number of available recording devices.

num_connected

int

Current connection.

Dictionary get_record_driver_info(id: int) const#

Returns index specified.

Returns :.

Key Name

Type

Description

name

String

Name.

guid

String

As {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}

system_rate

int

Default.

speaker_mode

FmodSpeakerMode

Speaker Mode

speaker_mode_channels

int

Channel.

state

int

State (1 as connection, 2 as default).

int get_record_position(id: int) const#

Returns the current PCM sample recording position for the specified recording device.

void record_start(id: int, sound: FmodSound, loop: bool)#

Specified to provides audio object.

Note

If loop as true, to when, will audio.

void record_stop(id: int)#

Stop specified.

bool is_recording(id: int) const#

Returns true if specified current in.

Manages.#

FmodGeometry create_geometry(max_polygons: int = 9999, max_vertices: int = 9999) const#

As 3D occlusion calculates creates geometry object, used for sound occlusion.

  • max_polygons —— parameter specified geometry polygon.

  • max_vertices —— parameter specified geometry.

FmodGeometry load_geometry(data: PackedByteArray) const#

Loads geometry data from the provided PackedByteArray and creates a FmodGeometry object. This is useful when loading complex geometry from disk.

Warning

FMOD, usually and polygon.

Dictionary get_geometry_occlusion(listener: Vector3, source: Vector3) const#

Calculates and sound source position occlusion.

Returns :.

Key Name

Type

Description

direct

float

Sound occlusion (0.0-1.0).

reverb

float

Reverb sound occlusion (0.0-1.0).

Note

If creates polygon, gets and listener position, as A to B occlusion can and B to A occlusion.

Other#

void lock_dsp()#

Locks the DSP engine mutex.

In needs DSP when, for in when DSP will.

Warning

And unlock_dsp()

void unlock_dsp()#

Unlocks the DSP engine mutex.

Warning

In unlock_dsp() after.

void set_3d_rolloff_callback(callback: Callable)#

Sets 3D distance attenuation callback. callback distance and returns attenuation.

Callable get_3d_rolloff_callback() const#

Returns current 3D distance attenuation callback. ~~~~.

FmodInitFlags#

Member

Value

Description

FMOD_INIT_FLAG_NORMAL

0

Normal initialization

FMOD_INIT_FLAG_STREAM_FROM_UPDATE

1

Does not create an internal stream thread. Streaming is driven by FmodSystem.update(). Mainly used for non-real-time output.

FMOD_INIT_FLAG_MIX_FROM_UPDATE

2

Internal creates. FmodSystem.update(). used for output, FmodOutputType FMOD_OUTPUT_TYPE_NOSOUND, FMOD_OUTPUT_TYPE_WAVWRITER

FMOD_INIT_FLAG_3D_RIGHTHANDED

4

Calculates, default. “”.

FMOD_INIT_FLAG_CLIP_OUTPUT

8

Output 1.0f or -1.0f.

FMOD_INIT_FLAG_CHANNEL_LOWPASS

256

ChannelControl::setLowPassGain, ChannelControl::set3DOcclusion, or Geometry API. will in DSP adds filtering effect, or, otherwise effect state.

FMOD_INIT_FLAG_CHANNEL_DISTANCEFILTER

512

FmodMode FMOD_MODE_3D will in DSP adds and filtering effect, as distance filter. FmodSystem.

FMOD_INIT_FLAG_PROFILE_ENABLE

65536

TCP/IP, FMOD Studio or FMOD Profiler connection, when memory, CPU and DSP.

FMOD_INIT_FLAG_VOL0_BECOMES_VIRTUAL

131072

Volume as 0 sound will sound, position in updates will. FmodSystem 0 volume to.

FMOD_INIT_FLAG_GEOMETRY_USECLOSEST

262144

When, polygon, sound to polygon.

FMOD_INIT_FLAG_PREFER_DOLBY_DOWNMIX

524288

Output device FmodSpeakerMode FMOD_SPEAKER_MODE_5POINT1 when, Dolby Pro Logic II, default.

FMOD_INIT_FLAG_THREAD_UNSAFE

1048576

API. in FMOD Studio API when !.

FMOD_INIT_FLAG_PROFILE_METER_ALL

2097152

Velocity, can as DSP adds. DSP::setMeteringEnable. sets FMOD_INIT_PROFILE_ENABLE

FMOD_INIT_FLAG_MEMORY_TRACKING

4194304

Memory. before in Studio API when. memory and. FMOD_STUDIO_INIT_MEMORY_TRACKING

See also

FmodSystem.init() FMOD.

FmodOutputType#

Member

Value

Platform

Description

FMOD_OUTPUT_TYPE_AUTODETECT

0

All

Output, default.

FMOD_OUTPUT_TYPE_UNKNOWN

1

Used for FmodSystem.get_output()

FMOD_OUTPUT_TYPE_NOSOUND

2

All

Mixing, output.

FMOD_OUTPUT_TYPE_WAVWRITER

3

All

Output.wav file.

FMOD_OUTPUT_TYPE_NOSOUND_NRT

4

All

When version FMOD_OUTPUT_TYPE_NOSOUND, updates mixing.

FMOD_OUTPUT_TYPE_WAVWRITER_NRT

5

All

When version FMOD_OUTPUT_TYPE_WAVWRITER, updates mixing.

FMOD_OUTPUT_TYPE_WASAPI

6

Win、UWP、Xbox One、Game Core

Windows audio will API (Windows, Xbox One, Game Core and UWP default).

FMOD_OUTPUT_TYPE_ASIO

7

Win

Delay ASIO 2.0.

FMOD_OUTPUT_TYPE_PULSEAUDIO

8

Linux

Audio (if, default Linux version).

FMOD_OUTPUT_TYPE_ALSA

9

Linux

Linux sound (if Linux PulseAudio, default Linux version).

FMOD_OUTPUT_TYPE_COREAUDIO

10

Mac、iOS

Audio (Mac and iOS default).

FMOD_OUTPUT_TYPE_AUDIOTRACK

11

Android

Java audio (Android 2.2 default).

FMOD_OUTPUT_TYPE_OPENSL

12

Android

OpenSL ES (default Android 2.3 7.1).

FMOD_OUTPUT_TYPE_AUDIOOUT

13

PS4、PS5

Audio output (PS4, PS5 default).

FMOD_OUTPUT_TYPE_AUDIO3D

14

PS4

Audio3D

FMOD_OUTPUT_TYPE_WEBAUDIO

15

HTML5

Web Audio ScriptProcessorNode output. Used as the HTML5 default when AudioWorkletNode is unavailable.

FMOD_OUTPUT_TYPE_NNAUDIO

16

Nintendo Switch

Audio output (Switch default).

FMOD_OUTPUT_TYPE_WINSONIC

17

Win10、Xbox One、Game Core

Windows Sonic

FMOD_OUTPUT_TYPE_AAUDIO

18

Android

AAudio (Android 8.1 default).

FMOD_OUTPUT_TYPE_AUDIOWORKLET

19

HTML5

Web Audio AudioWorkletNode output (if, default as HTML5).

FMOD_OUTPUT_TYPE_PHASE

20

iOS

PHASE framework (disabled).

FMOD_OUTPUT_TYPE_OHAUDIO

21

OpenHarmony

OHAudio

FMOD_OUTPUT_TYPE_MAX

22

Maximum supported output type count.

FMOD_OUTPUT_TYPE_FORCEINT

65536

As 32.

FmodSpeaker#

Member

Value

Description

FMOD_SPEAKER_NONE

-1

Specified.

FMOD_SPEAKER_FRONT_LEFT

0

Before.

FMOD_SPEAKER_FRONT_RIGHT

1

Before.

FMOD_SPEAKER_FRONT_CENTER

2

Before.

FMOD_SPEAKER_LOW_FREQUENCY

3

Effect.

FMOD_SPEAKER_SURROUND_LEFT

4

Surround left speaker

FMOD_SPEAKER_SURROUND_RIGHT

5

Surround right speaker

FMOD_SPEAKER_BACK_LEFT

6

After.

FMOD_SPEAKER_BACK_RIGHT

7

After.

FMOD_SPEAKER_TOP_FRONT_LEFT

8

Before.

FMOD_SPEAKER_TOP_FRONT_RIGHT

9

Before.

FMOD_SPEAKER_TOP_BACK_LEFT

10

After.

FMOD_SPEAKER_TOP_BACK_RIGHT

11

After.

FMOD_SPEAKER_MAX

12

Number of speaker enum values

FMOD_SPEAKER_FORCEINT

65536

As 32.

FmodSpeakerMode#

Member

Value

Description

FMOD_SPEAKER_MODE_DEFAULT

0

Platform default speaker mode.

FMOD_SPEAKER_MODE_RAW

1

Raw speaker mapping

FMOD_SPEAKER_MODE_MONO

2

Output.

FMOD_SPEAKER_MODE_STEREO

3

Output.

FMOD_SPEAKER_MODE_QUAD

4

Output.

FMOD_SPEAKER_MODE_SURROUND

5

Output.

FMOD_SPEAKER_MODE_5POINT1

6

5.1 output.

FMOD_SPEAKER_MODE_7POINT1

7

7.1 output.

FMOD_SPEAKER_MODE_7POINT1POINT4

8

7.1.4 output.

FMOD_SPEAKER_MODE_MAX

9

Number of speaker modes

FMOD_SPEAKER_FORCEINT

65536

As 32.

FmodMode#

Member

Value

Description

FMOD_MODE_DEFAULT

0

Default creation mode.

FMOD_MODE_LOOP_OFF

1

Loop.

FMOD_MODE_LOOP_NORMAL

2

Loop.

FMOD_MODE_LOOP_BIDI

4

Loop.

FMOD_MODE_2D

8

As 2D sound.

FMOD_MODE_3D

16

As 3D sound.

FMOD_MODE_CREATESTREAM

128

Creates sound.

FMOD_MODE_CREATESAMPLE

256

Creates .

FMOD_MODE_CREATECOMPRESSEDSAMPLE

512

Creates compression.

FMOD_MODE_OPENUSER

1024

Callback.

FMOD_MODE_OPENMEMORY

2048

Memory.

FMOD_MODE_OPENMEMORY_POINT

268435456

Reference memory.

FMOD_MODE_OPENRAW

4096

Open as raw PCM data.

FMOD_MODE_OPENONLY

8192

Open only, without preloading

FMOD_MODE_ACCURATETIME

16384

Calculates.

FMOD_MODE_MPEGSEARCH

32768

Scan MPEG frame information.

FMOD_MODE_NONBLOCKING

65536

Open in non-blocking mode

FMOD_MODE_UNIQUE

131072

Creates sound instance.

FMOD_MODE_3D_HEADRELATIVE

262144

3D position.

FMOD_MODE_3D_WORLDRELATIVE

524288

3D position.

FMOD_MODE_3D_INVERSEROLLOFF

1048576

Distance attenuation.

FMOD_MODE_3D_LINEARROLLOFF

2097152

Distance attenuation.

FMOD_MODE_3D_LINEARSQUAREROLLOFF

4194304

Distance attenuation.

FMOD_MODE_3D_INVERSETAPEREDROLLOFF

8388608

Distance attenuation.

FMOD_MODE_3D_CUSTOMROLLOFF

67108864

Distance attenuation.

FMOD_MODE_3D_IGNOREGEOMETRY

1073741824

Occlusion.

FMOD_MODE_IGNORETAGS

33554432

File label.

FMOD_MODE_LOWMEM

134217728

Memory.

FMOD_MODE_VIRTUAL_PLAYFROMSTART

-2147483648

Virtual channels start playback from the beginning

FmodTimeUnit#

Member

Value

Description

FMOD_TIME_UNIT_MS

1

When unit.

FMOD_TIME_UNIT_PCM

2

PCM unit.

FMOD_TIME_UNIT_PCMBYTES

4

PCM unit.

FMOD_TIME_UNIT_RAWBYTES

8

Unit.

FMOD_TIME_UNIT_PCMFRACTION

16

PCM position unit.

FMOD_TIME_UNIT_MODORDER

256

Unit.

FMOD_TIME_UNIT_MODROW

512

Unit.

FMOD_TIME_UNIT_MODPATTERN

1024

Unit.

FmodResamplerMethod#

Member

Value

Description

FMOD_RESAMPLER_DEFAULT

0

Default.

FMOD_RESAMPLER_NOINTERP

1

Resample without interpolation

FMOD_RESAMPLER_LINEAR

2

Linear interpolation resampling

FMOD_RESAMPLER_CUBIC

3

Cubic interpolation resampling

FMOD_RESAMPLER_SPLINE

4

Spline interpolation resampling

FMOD_RESAMPLER_MAX

5

Number of resampling methods

FMOD_RESAMPLER_FORCEINT

65536

As 32.

FmodPortType#

Member

Value

Description

FMOD_PORT_TYPE_MUSIC

0

Output.

FMOD_PORT_TYPE_COPYRIGHT_MUSIC

1

Copyright-protected music port.

FMOD_PORT_TYPE_VOICE

2

Output.

FMOD_PORT_TYPE_CONTROLLER

3

Controls output.

FMOD_PORT_TYPE_PERSONAL

4

Audio output.

FMOD_PORT_TYPE_VIBRATION

5

Output.

FMOD_PORT_TYPE_AUX

6

Output.

FMOD_PORT_TYPE_PASSTHROUGH

7

Output.

FMOD_PORT_TYPE_VR_VIBRATION

8

VR output.

FMOD_PORT_TYPE_MAX

9

Number of port types