Audio device, sounds, music and streams. 66 functions, from raylib's raudio.
Wave/Sound loading/unloading functions
Load wave data from file
Zigfn loadWave(fileName: [:0]const u8) error{LoadFailed}!Wave
CWave LoadWave(const char *fileName);
Used in audio_spectrum_visualizer, embedded_files_loading.
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);
Check if wave data is valid (data loaded and parameters)
Zigfn isWaveValid(wave: Wave) bool
Cbool IsWaveValid(Wave wave);
Load sound from file
Zigfn loadSound(fileName: [:0]const u8) error{LoadFailed}!Sound
CSound LoadSound(const char *fileName);
Used in textures_sprite_button, textures_sprite_explosion, audio_sound_loading, audio_mixed_processor, audio_sound_multi, audio_sound_positioning.
Load sound from wave data
Zigfn loadSoundFromWave(wave: Wave) error{LoadFailed}!Sound
CSound LoadSoundFromWave(Wave wave);
Used in embedded_files_loading.
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.
Check if sound is valid (data loaded and buffers initialized)
Zigfn isSoundValid(sound: Sound) bool
Cbool IsSoundValid(Sound sound);
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);
Unload wave data
Zigfn unloadWave(wave: Wave) void
Cvoid UnloadWave(Wave wave);
Used in audio_spectrum_visualizer.
Unload sound
Zigfn unloadSound(sound: Sound) void
Cvoid UnloadSound(Sound sound);
Used in textures_sprite_button, textures_sprite_explosion, audio_sound_loading, audio_mixed_processor, audio_sound_multi, audio_sound_positioning and 1 more.
Unload sound alias (does not deallocate sample data)
Zigfn unloadSoundAlias(alias: Sound) void
Cvoid UnloadSoundAlias(Sound alias);
Used in audio_sound_multi.
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);
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
Play a sound
Zigfn playSound(sound: Sound) void
Cvoid PlaySound(Sound sound);
Used in core_3d_camera_fps, textures_sprite_button, textures_sprite_explosion, audio_sound_loading, audio_mixed_processor, audio_sound_multi and 2 more.
Stop playing a sound
Zigfn stopSound(sound: Sound) void
Cvoid StopSound(Sound sound);
Pause a sound
Zigfn pauseSound(sound: Sound) void
Cvoid PauseSound(Sound sound);
Resume a paused sound
Zigfn resumeSound(sound: Sound) void
Cvoid ResumeSound(Sound sound);
Check if sound is currently playing
Zigfn isSoundPlaying(sound: Sound) bool
Cbool IsSoundPlaying(Sound sound);
Used in audio_sound_positioning.
Set volume for a sound (1.0 is max level)
Zigfn setSoundVolume(sound: Sound, volume: f32) void
Cvoid SetSoundVolume(Sound sound, float volume);
Used in audio_sound_positioning.
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.
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.
Copy a wave to a new wave
Zigfn waveCopy(wave: Wave) Wave
CWave WaveCopy(Wave wave);
Crop a wave to defined frames range
Zigfn waveCrop(wave: *Wave, initFrame: i32, finalFrame: i32) void
Cvoid WaveCrop(Wave *wave, int initFrame, int finalFrame);
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.
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);
Unload samples data loaded with LoadWaveSamples()
Unload samples data loaded with `loadWaveSamples`.
Zigfn unloadWaveSamples(samples: []f32) void
Cvoid UnloadWaveSamples(float *samples);
Music management functions
Load music stream from file
Zigfn loadMusicStream(fileName: [:0]const u8) error{LoadFailed}!Music
CMusic LoadMusicStream(const char *fileName);
Used in audio_module_playing, audio_music_stream, audio_mixed_processor, audio_stream_effects.
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);
Check if music stream is valid (context and buffers initialized)
Zigfn isMusicValid(music: Music) bool
Cbool IsMusicValid(Music music);
Unload music stream
Zigfn unloadMusicStream(music: Music) void
Cvoid UnloadMusicStream(Music music);
Used in audio_module_playing, audio_music_stream, audio_mixed_processor, audio_stream_effects.
Start music playing
Zigfn playMusicStream(music: Music) void
Cvoid PlayMusicStream(Music music);
Used in audio_module_playing, audio_music_stream, audio_mixed_processor, audio_stream_effects.
Check if music is playing
Zigfn isMusicStreamPlaying(music: Music) bool
Cbool IsMusicStreamPlaying(Music music);
Update buffers for music streaming
Zigfn updateMusicStream(music: Music) void
Cvoid UpdateMusicStream(Music music);
Used in audio_module_playing, audio_music_stream, audio_mixed_processor, audio_stream_effects.
Stop music playing
Zigfn stopMusicStream(music: Music) void
Cvoid StopMusicStream(Music music);
Used in audio_module_playing, audio_music_stream, audio_stream_effects.
Pause music playing
Zigfn pauseMusicStream(music: Music) void
Cvoid PauseMusicStream(Music music);
Used in audio_module_playing, audio_music_stream, audio_stream_effects.
Resume playing paused music
Zigfn resumeMusicStream(music: Music) void
Cvoid ResumeMusicStream(Music music);
Used in audio_module_playing, audio_music_stream, audio_stream_effects.
Seek music to a position (in seconds)
Zigfn seekMusicStream(music: Music, position: f32) void
Cvoid SeekMusicStream(Music music, float position);
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.
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.
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.
Get music time length (in seconds)
Zigfn getMusicTimeLength(music: Music) f32
Cfloat GetMusicTimeLength(Music music);
Used in audio_module_playing, audio_music_stream, audio_stream_effects.
Get current music time played (in seconds)
Zigfn getMusicTimePlayed(music: Music) f32
Cfloat GetMusicTimePlayed(Music music);
Used in audio_module_playing, audio_music_stream, audio_stream_effects.
AudioStream management functions
Load audio stream (to stream raw audio pcm data)
Zigfn loadAudioStream(sampleRate: u32, sampleSize: u32, channels: u32) error{LoadFailed}!AudioStream
CAudioStream LoadAudioStream(unsigned int sampleRate, unsigned int sampleSize, unsigned int channels);
Used in audio_raw_stream, audio_spectrum_visualizer, audio_stream_callback, audio_amp_envelope.
Check if an audio stream is valid (buffers initialized)
Zigfn isAudioStreamValid(stream: AudioStream) bool
Cbool IsAudioStreamValid(AudioStream stream);
Unload audio stream and free memory
Zigfn unloadAudioStream(stream: AudioStream) void
Cvoid UnloadAudioStream(AudioStream stream);
Used in audio_raw_stream, audio_spectrum_visualizer, audio_stream_callback, audio_amp_envelope.
Update audio stream buffers with data
Zigfn updateAudioStream(stream: AudioStream, data: *const anyopaque, frameCount: i32) void
Cvoid UpdateAudioStream(AudioStream stream, const void *data, int frameCount);
Used in audio_raw_stream, audio_spectrum_visualizer, audio_amp_envelope.
Check if any audio stream buffers requires refill
Zigfn isAudioStreamProcessed(stream: AudioStream) bool
Cbool IsAudioStreamProcessed(AudioStream stream);
Used in audio_raw_stream, audio_spectrum_visualizer, audio_amp_envelope.
Play audio stream
Zigfn playAudioStream(stream: AudioStream) void
Cvoid PlayAudioStream(AudioStream stream);
Used in audio_raw_stream, audio_spectrum_visualizer, audio_stream_callback, audio_amp_envelope.
Pause audio stream
Zigfn pauseAudioStream(stream: AudioStream) void
Cvoid PauseAudioStream(AudioStream stream);
Resume audio stream
Zigfn resumeAudioStream(stream: AudioStream) void
Cvoid ResumeAudioStream(AudioStream stream);
Check if audio stream is playing
Zigfn isAudioStreamPlaying(stream: AudioStream) bool
Cbool IsAudioStreamPlaying(AudioStream stream);
Used in audio_amp_envelope.
Stop audio stream
Zigfn stopAudioStream(stream: AudioStream) void
Cvoid StopAudioStream(AudioStream stream);
Set volume for audio stream (1.0 is max level)
Zigfn setAudioStreamVolume(stream: AudioStream, volume: f32) void
Cvoid SetAudioStreamVolume(AudioStream stream, float volume);
Set pitch for audio stream (1.0 is base level)
Zigfn setAudioStreamPitch(stream: AudioStream, pitch: f32) void
Cvoid SetAudioStreamPitch(AudioStream stream, float pitch);
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.
Default size for new audio streams
Zigfn setAudioStreamBufferSizeDefault(size: i32) void
Cvoid SetAudioStreamBufferSizeDefault(int size);
Used in audio_raw_stream, audio_spectrum_visualizer, audio_stream_callback, audio_amp_envelope.
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.
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.
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.
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.
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.