pub trait AudioBackend: Send {
// Required methods
fn start(&mut self, callback: AudioCallback) -> Result<()>;
fn stop(&mut self) -> Result<()>;
fn sample_rate(&self) -> u32;
fn buffer_size(&self) -> u32;
fn channels(&self) -> u16;
}Expand description
Trait for audio output backends. Allows swapping real hardware for an in-memory test backend.
Required Methods§
Sourcefn start(&mut self, callback: AudioCallback) -> Result<()>
fn start(&mut self, callback: AudioCallback) -> Result<()>
Start the audio stream, calling callback for each buffer.
Sourcefn sample_rate(&self) -> u32
fn sample_rate(&self) -> u32
Sample rate the backend is running at.
Sourcefn buffer_size(&self) -> u32
fn buffer_size(&self) -> u32
Buffer size in samples per channel.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".