LDKAudioPriority
typedef enum LDKAudioPriority{
LDK_AUDIO_PRIORITY_LOW=0,
LDK_AUDIO_PRIORITY_NORMAL,
LDK_AUDIO_PRIORITY_HIGH,
LDK_AUDIO_PRIORITY_CRITICAL
}LDKAudioPriority;
Audio playback module.
typedef enum LDKAudioPriority{
LDK_AUDIO_PRIORITY_LOW=0,
LDK_AUDIO_PRIORITY_NORMAL,
LDK_AUDIO_PRIORITY_HIGH,
LDK_AUDIO_PRIORITY_CRITICAL
}LDKAudioPriority;
typedef struct LDKAudioVoice{
u32 index;
u32 version;
}LDKAudioVoice;
typedef struct LDKAudioPlayDesc{
LDKAudioPriority priority;
float volume;
float range;
Vec3 position;
bool loop;
bool spatialized;
}LDKAudioPlayDesc;
typedef struct LDKAudio{
void *internal;
bool is_initialized;
}LDKAudio;
Initialize the audio.
LDK_API bool ldk_audio_initialize(
LDKAudio *audio,
LDKAssetManager *assets
);
LDKAudio *audioLDKAssetManager *assetsTrue if the operation succeeds; false otherwise.
Update the audio.
LDK_API void ldk_audio_update(LDKAudio *audio);
LDKAudio *audioShut down the audio.
LDK_API void ldk_audio_terminate(LDKAudio *audio);
LDKAudio *audioSet the master output volume for all voices (0.0 = silent, 1.0 = full). Returns false if audio is not initialized or volume is outside [0, 1].
LDK_API bool ldk_audio_master_volume_set(
LDKAudio *audio,
float volume
);
LDKAudio *audiofloat volumeTrue if the operation succeeds; false otherwise.
Return the current master volume, or 1.0 if audio is unavailable.
LDK_API float ldk_audio_master_volume_get(LDKAudio *audio);
LDKAudio *audioThe resulting value.
Set the audio listener.
LDK_API void ldk_audio_listener_set(
LDKAudio *audio,
Vec3 position,
Vec3 direction,
Vec3 world_up
);
LDKAudio *audioVec3 positionVec3 directionVec3 world_upInitialize an audio playback descriptor with defaults.
LDK_API LDKAudioPlayDesc ldk_audio_play_desc_default(void);
A descriptor for the requested component or resource.
Return an invalid handle for the audio voice.
LDK_API LDKAudioVoice ldk_audio_voice_null(void);
An invalid or empty handle.
Check whether an audio voice handle is null.
LDK_API bool ldk_audio_voice_is_null(LDKAudioVoice voice);
LDKAudioVoice voiceTrue when the queried condition holds; false otherwise.
Check whether the audio voice refers to a live resource.
LDK_API bool ldk_audio_voice_is_alive(
LDKAudio *audio,
LDKAudioVoice voice
);
LDKAudio *audioLDKAudioVoice voiceTrue when the queried condition holds; false otherwise.
Check whether the audio voice is playing.
LDK_API bool ldk_audio_voice_is_playing(
LDKAudio *audio,
LDKAudioVoice voice
);
LDKAudio *audioLDKAudioVoice voiceTrue when the queried condition holds; false otherwise.
Stop the audio voice.
LDK_API void ldk_audio_voice_stop(
LDKAudio *audio,
LDKAudioVoice voice
);
LDKAudio *audioLDKAudioVoice voiceSet the audio voice position.
LDK_API bool ldk_audio_voice_position_set(
LDKAudio *audio,
LDKAudioVoice voice,
Vec3 position
);
LDKAudio *audioLDKAudioVoice voiceVec3 positionTrue if the operation succeeds; false otherwise.
Set the audio voice volume.
LDK_API bool ldk_audio_voice_volume_set(
LDKAudio *audio,
LDKAudioVoice voice,
float volume
);
LDKAudio *audioLDKAudioVoice voicefloat volumeTrue if the operation succeeds; false otherwise.
Set the audio voice range.
LDK_API bool ldk_audio_voice_range_set(
LDKAudio *audio,
LDKAudioVoice voice,
float range
);
LDKAudio *audioLDKAudioVoice voicefloat rangeTrue if the operation succeeds; false otherwise.
Set the audio voice loop.
LDK_API bool ldk_audio_voice_loop_set(
LDKAudio *audio,
LDKAudioVoice voice,
bool loop
);
LDKAudio *audioLDKAudioVoice voicebool loopTrue if the operation succeeds; false otherwise.
Set the audio voice priority.
LDK_API bool ldk_audio_voice_priority_set(
LDKAudio *audio,
LDKAudioVoice voice,
LDKAudioPriority priority
);
LDKAudio *audioLDKAudioVoice voiceLDKAudioPriority priorityTrue if the operation succeeds; false otherwise.
Plays a shared audio asset and returns a versioned playback handle. Small assets may be cached in memory; larger assets stream from RunTree or an open .box package. Active voices retain a reference to the asset data.
LDK_API LDKAudioVoice ldk_audio_asset_play(
LDKAudio *audio,
LDKAssetAudio asset,
const LDKAudioPlayDesc *desc
);
LDKAudio *audioLDKAssetAudio assetconst LDKAudioPlayDesc *descThe requested value.
Convenience path-based playback. The path is resolved through the asset manager and then played as a shared LDKAssetAudio.
LDK_API LDKAudioVoice ldk_audio_sound_play(
LDKAudio *audio,
const char *path
);
LDKAudio *audioconst char *pathThe requested value.
Play a sound using the supplied playback options.
LDK_API LDKAudioVoice ldk_audio_sound_play_ex(
LDKAudio *audio,
const char *path,
const LDKAudioPlayDesc *desc
);
LDKAudio *audioconst char *pathconst LDKAudioPlayDesc *descThe requested value.