AudioMasterImpl

Trait AudioMasterImpl 

Source
pub trait AudioMasterImpl {
    // Required methods
    fn new() -> AudioMaster;
    fn new_with_buffer_size(buffer_size: usize) -> AudioMaster;
    fn new_with_fps(fps: usize) -> AudioMaster;
    fn stop_sys_stream(&mut self) -> Result<(), AudioMasterError>;
    fn start_sys_stream(&mut self) -> Result<(), AudioMasterError>;
    fn try_to_initialize_stream(&mut self) -> Result<(), AudioMasterError>;
    fn devices(&self) -> Vec<Device>;
    fn get_current_device(&self) -> Option<Device>;
    fn change_device(&self, device_id: usize) -> Result<(), AudioMasterError>;
    fn create_stream_f32(
        &mut self,
        settings: &AudioStreamSettings,
        feeder: Box<dyn AudioStreamFeederTrait<f32>>,
    ) -> AudioStream<f32>;
    fn create_stream_f64(
        &mut self,
        settings: &AudioStreamSettings,
        feeder: Box<dyn AudioStreamFeederTrait<f64>>,
    ) -> AudioStream<f64>;
}
Expand description

Public API trait for the audio master, which manages devices and streams.

Required Methods§

Source

fn new() -> AudioMaster

Creates a new audio master with default settings.

Source

fn new_with_buffer_size(buffer_size: usize) -> AudioMaster

Creates a new audio master with a specified buffer size.

Source

fn new_with_fps(fps: usize) -> AudioMaster

Creates a new audio master with a specified frame rate (FPS).

Source

fn stop_sys_stream(&mut self) -> Result<(), AudioMasterError>

Stops the main system audio stream.

Source

fn start_sys_stream(&mut self) -> Result<(), AudioMasterError>

Starts the main system audio stream.

Source

fn try_to_initialize_stream(&mut self) -> Result<(), AudioMasterError>

Attempts to initialize the audio stream.

Source

fn devices(&self) -> Vec<Device>

Gets a list of available audio devices.

Source

fn get_current_device(&self) -> Option<Device>

Gets the currently selected device, if any.

Source

fn change_device(&self, device_id: usize) -> Result<(), AudioMasterError>

Changes the current audio device by ID.

Source

fn create_stream_f32( &mut self, settings: &AudioStreamSettings, feeder: Box<dyn AudioStreamFeederTrait<f32>>, ) -> AudioStream<f32>

Creates a new f32 audio stream with the given settings and feeder.

Source

fn create_stream_f64( &mut self, settings: &AudioStreamSettings, feeder: Box<dyn AudioStreamFeederTrait<f64>>, ) -> AudioStream<f64>

Creates a new f64 audio stream with the given settings and feeder.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§