class Raudio::AudioStream

Overview

AudioStream represents a custom audio stream Use this for procedural audio or custom audio processing

Defined in:

raudio/audio_stream.cr

Constant Summary

NOOP_CALLBACK = ->(buffer : Pointer(Void), frames : UInt32) do end

NOOP callback retained to avoid GC (used when clearing callbacks)

Constructors

Class Method Summary

Instance Method Summary

Constructor Detail

def self.load(sample_rate : UInt32, sample_size : UInt32, channels : UInt32) : self #

Load audio stream (to stream raw audio pcm data)


[View source]

Class Method Detail

def self.attach_mixed_processor(processor : LibRaudio::AudioCallback) #

Attach audio stream processor to the entire audio pipeline


[View source]
def self.attach_mixed_processor(&block : Pointer(Void), UInt32 -> ) #

Attach audio stream processor to the entire audio pipeline (block form)


[View source]
def self.buffer_size_default=(size : Int32) #

Default size for new audio streams


[View source]
def self.detach_mixed_processor(processor : LibRaudio::AudioCallback) #

Detach audio stream processor from the entire audio pipeline


[View source]
def self.ready?(handle : LibRaudio::AudioStream) : Bool #

Check if audio stream is ready


[View source]

Instance Method Detail

def attach_processor(processor : LibRaudio::AudioCallback) #

Attach audio stream processor to stream


[View source]
def attach_processor(&block : Pointer(Void), UInt32 -> ) #

Attach audio stream processor to stream (block form)


[View source]
def callback=(cb : LibRaudio::AudioCallback) #

Set per-stream callback (single). Overwrites previous.


[View source]
def channels : UInt32 #

Get number of channels


[View source]
def clear_callback #

[View source]
def close #

[View source]
def detach_processor(processor : LibRaudio::AudioCallback) #

Detach audio stream processor from stream


[View source]
def finalize #

[View source]
def pan=(pan : Float32) #

Set pan for audio stream (0.5 is center)


[View source]
def pause #

Pause audio stream


[View source]
def pitch=(pitch : Float32) #

Set pitch for audio stream (1.0 is base level)


[View source]
def play #

Play audio stream


[View source]
def playing? : Bool #

Check if audio stream is playing


[View source]
def processed? : Bool #

Check if any audio stream buffers requires refill


[View source]
def ready? : Bool #

Check if this audio stream is ready


[View source]
def release #

[View source]
def released? : Bool #

[View source]
def resume #

Resume audio stream


[View source]
def sample_rate : UInt32 #

Get sample rate


[View source]
def sample_size : UInt32 #

Get sample size


[View source]
def set_callback(&block : Pointer(Void), UInt32 -> ) #

Set per-stream callback (block form). Overwrites previous.


[View source]
def stop #

Stop audio stream


[View source]
def to_unsafe : Raudio::LibRaudio::AudioStream #

Get the underlying C struct


[View source]
def update(data : Pointer(Void), frame_count : Int32) #

Update audio stream buffers with data


[View source]
def volume=(volume : Float32) #

Set volume for audio stream (1.0 is max level)


[View source]