← ziglang.inraylib-zigGitHub

audio

Audio device, sounds, music and streams. 66 functions, from raylib's raudio.

Audio device management functions

rl.isAudioDeviceReady

Check if audio device has been initialized successfully

Zigfn isAudioDeviceReady() bool
Cbool IsAudioDeviceReady(void);

rl.setMasterVolume

Set master volume (listener)

Zigfn setMasterVolume(volume: f32) void
Cvoid SetMasterVolume(float volume);

rl.getMasterVolume

Get master volume (listener)

Zigfn getMasterVolume() f32
Cfloat GetMasterVolume(void);

Wave/Sound loading/unloading functions

rl.loadWaveFromMemory

Load wave from memory buffer, fileType refers to extension: i.e. '.wav'

Zigfn loadWaveFromMemory(fileType: [:0]const u8, fileData: []const u8) error{LoadFailed}!Wave
CWave LoadWaveFromMemory(const char *fileType, const unsigned char *fileData, int dataSize);

rl.isWaveValid

Check if wave data is valid (data loaded and parameters)

Zigfn isWaveValid(wave: Wave) bool
Cbool IsWaveValid(Wave wave);

rl.loadSoundAlias

Load sound alias, new sound that shares the same sample data as the source sound, does not own the sound data

Zigfn loadSoundAlias(source: Sound) error{LoadFailed}!Sound
CSound LoadSoundAlias(Sound source);

Used in audio_sound_multi.

rl.isSoundValid

Check if sound is valid (data loaded and buffers initialized)

Zigfn isSoundValid(sound: Sound) bool
Cbool IsSoundValid(Sound sound);

rl.updateSound

Update sound buffer with new data (default data format: 32 bit float, stereo)

Zigfn updateSound(sound: Sound, data: *const anyopaque, frameCount: i32) void
Cvoid UpdateSound(Sound sound, const void *data, int frameCount);

rl.exportWave

Export wave data to file, returns true on success

Zigfn exportWave(wave: Wave, fileName: [:0]const u8) bool
Cbool ExportWave(Wave wave, const char *fileName);

rl.exportWaveAsCode

Export wave sample data to code (.h), returns true on success

Zigfn exportWaveAsCode(wave: Wave, fileName: [:0]const u8) bool
Cbool ExportWaveAsCode(Wave wave, const char *fileName);

Wave/Sound management functions

rl.stopSound

Stop playing a sound

Zigfn stopSound(sound: Sound) void
Cvoid StopSound(Sound sound);

rl.pauseSound

Pause a sound

Zigfn pauseSound(sound: Sound) void
Cvoid PauseSound(Sound sound);

rl.resumeSound

Resume a paused sound

Zigfn resumeSound(sound: Sound) void
Cvoid ResumeSound(Sound sound);

rl.setSoundPitch

Set pitch for a sound (1.0 is base level)

Zigfn setSoundPitch(sound: Sound, pitch: f32) void
Cvoid SetSoundPitch(Sound sound, float pitch);

Used in core_3d_camera_fps.

rl.setSoundPan

Set pan for a sound (-1.0 left, 0.0 center, 1.0 right)

Zigfn setSoundPan(sound: Sound, pan: f32) void
Cvoid SetSoundPan(Sound sound, float pan);

Used in audio_sound_positioning.

rl.waveCopy

Copy a wave to a new wave

Zigfn waveCopy(wave: Wave) Wave
CWave WaveCopy(Wave wave);

rl.waveCrop

Crop a wave to defined frames range

Zigfn waveCrop(wave: *Wave, initFrame: i32, finalFrame: i32) void
Cvoid WaveCrop(Wave *wave, int initFrame, int finalFrame);

rl.waveFormat

Convert wave data to desired format

Zigfn waveFormat(wave: *Wave, sampleRate: i32, sampleSize: i32, channels: i32) void
Cvoid WaveFormat(Wave *wave, int sampleRate, int sampleSize, int channels);

Used in audio_spectrum_visualizer.

rl.loadWaveSamples

Load samples data from wave as a 32bit float data array

Load samples data from wave as a 32bit float data array. Free with `unloadWaveSamples`.

Zigfn loadWaveSamples(wave: Wave) error{LoadFailed}![]f32
Cfloat *LoadWaveSamples(Wave wave);

rl.unloadWaveSamples

Unload samples data loaded with LoadWaveSamples()

Unload samples data loaded with `loadWaveSamples`.

Zigfn unloadWaveSamples(samples: []f32) void
Cvoid UnloadWaveSamples(float *samples);

Music management functions

rl.loadMusicStreamFromMemory

Load music stream from data

Zigfn loadMusicStreamFromMemory(fileType: [:0]const u8, data: []const u8) error{LoadFailed}!Music
CMusic LoadMusicStreamFromMemory(const char *fileType, const unsigned char *data, int dataSize);

rl.isMusicValid

Check if music stream is valid (context and buffers initialized)

Zigfn isMusicValid(music: Music) bool
Cbool IsMusicValid(Music music);

rl.isMusicStreamPlaying

Check if music is playing

Zigfn isMusicStreamPlaying(music: Music) bool
Cbool IsMusicStreamPlaying(Music music);

rl.seekMusicStream

Seek music to a position (in seconds)

Zigfn seekMusicStream(music: Music, position: f32) void
Cvoid SeekMusicStream(Music music, float position);

rl.setMusicVolume

Set volume for music (1.0 is max level)

Zigfn setMusicVolume(music: Music, volume: f32) void
Cvoid SetMusicVolume(Music music, float volume);

Used in audio_music_stream.

rl.setMusicPitch

Set pitch for music (1.0 is base level)

Zigfn setMusicPitch(music: Music, pitch: f32) void
Cvoid SetMusicPitch(Music music, float pitch);

Used in audio_module_playing.

rl.setMusicPan

Set pan for music (-1.0 left, 0.0 center, 1.0 right)

Zigfn setMusicPan(music: Music, pan: f32) void
Cvoid SetMusicPan(Music music, float pan);

Used in audio_music_stream.

AudioStream management functions

rl.isAudioStreamValid

Check if an audio stream is valid (buffers initialized)

Zigfn isAudioStreamValid(stream: AudioStream) bool
Cbool IsAudioStreamValid(AudioStream stream);

rl.pauseAudioStream

Pause audio stream

Zigfn pauseAudioStream(stream: AudioStream) void
Cvoid PauseAudioStream(AudioStream stream);

rl.resumeAudioStream

Resume audio stream

Zigfn resumeAudioStream(stream: AudioStream) void
Cvoid ResumeAudioStream(AudioStream stream);

rl.stopAudioStream

Stop audio stream

Zigfn stopAudioStream(stream: AudioStream) void
Cvoid StopAudioStream(AudioStream stream);

rl.setAudioStreamVolume

Set volume for audio stream (1.0 is max level)

Zigfn setAudioStreamVolume(stream: AudioStream, volume: f32) void
Cvoid SetAudioStreamVolume(AudioStream stream, float volume);

rl.setAudioStreamPitch

Set pitch for audio stream (1.0 is base level)

Zigfn setAudioStreamPitch(stream: AudioStream, pitch: f32) void
Cvoid SetAudioStreamPitch(AudioStream stream, float pitch);

rl.setAudioStreamPan

Set pan for audio stream (-1.0 left, 0.0 center, 1.0 right)

Zigfn setAudioStreamPan(stream: AudioStream, pan: f32) void
Cvoid SetAudioStreamPan(AudioStream stream, float pan);

Used in audio_raw_stream.

rl.setAudioStreamCallback

Audio thread callback to request new data

Audio thread callback to request new data (raw C callback).

Zigfn setAudioStreamCallback(stream: AudioStream, callback: AudioCallback) void
Cvoid SetAudioStreamCallback(AudioStream stream, AudioCallback callback);

Used in audio_stream_callback.

rl.attachAudioStreamProcessor

Attach audio stream processor to stream, receives frames x 2 samples as 'float' (stereo)

Attach audio stream processor to stream, receives frames x 2 samples as 'float' (stereo).

Zigfn attachAudioStreamProcessor(stream: AudioStream, processor: AudioCallback) void
Cvoid AttachAudioStreamProcessor(AudioStream stream, AudioCallback processor);

Used in audio_stream_effects.

rl.detachAudioStreamProcessor

Detach audio stream processor from stream

Detach audio stream processor from stream.

Zigfn detachAudioStreamProcessor(stream: AudioStream, processor: AudioCallback) void
Cvoid DetachAudioStreamProcessor(AudioStream stream, AudioCallback processor);

Used in audio_stream_effects.

rl.attachAudioMixedProcessor

Attach audio stream processor to the entire audio pipeline, receives frames x 2 samples as 'float' (stereo)

Attach audio stream processor to the entire audio pipeline, receives frames x 2 samples as 'float' (stereo).

Zigfn attachAudioMixedProcessor(processor: AudioCallback) void
Cvoid AttachAudioMixedProcessor(AudioCallback processor);

Used in audio_mixed_processor.

rl.detachAudioMixedProcessor

Detach audio stream processor from the entire audio pipeline

Detach audio stream processor from the entire audio pipeline.

Zigfn detachAudioMixedProcessor(processor: AudioCallback) void
Cvoid DetachAudioMixedProcessor(AudioCallback processor);

Used in audio_mixed_processor.