Skip to main content

AudioBackend

Trait AudioBackend 

Source
pub trait AudioBackend:
    Send
    + Sync
    + Debug {
    // Required methods
    fn backend_type(&self) -> BackendType;
    fn config(&self) -> &AudioConfig;
    fn config_mut(&mut self) -> &mut AudioConfig;
    fn init(&mut self) -> IoResult<()>;
    fn start(&mut self) -> IoResult<()>;
    fn stop(&mut self) -> IoResult<()>;
    fn read(&mut self, buffer: &mut [f32]) -> IoResult<usize>;
    fn write(&mut self, buffer: &[f32]) -> IoResult<usize>;
    fn xruns(&self) -> u32;
    fn latency(&self) -> Duration;
    fn list_input_devices(&self) -> Vec<String>;
    fn list_output_devices(&self) -> Vec<String>;
}
Expand description

Трейт аудио бэкенда

Required Methods§

Source

fn backend_type(&self) -> BackendType

Получить тип бэкенда

Source

fn config(&self) -> &AudioConfig

Получить конфигурацию

Source

fn config_mut(&mut self) -> &mut AudioConfig

Получить мутабельную конфигурацию

Source

fn init(&mut self) -> IoResult<()>

Инициализировать бэкенд

Source

fn start(&mut self) -> IoResult<()>

Запустить обработку

Source

fn stop(&mut self) -> IoResult<()>

Остановить обработку

Source

fn read(&mut self, buffer: &mut [f32]) -> IoResult<usize>

Прочитать данные из входного потока

Source

fn write(&mut self, buffer: &[f32]) -> IoResult<usize>

Записать данные в выходной поток

Source

fn xruns(&self) -> u32

Количество пропущенных семплов (xruns)

Source

fn latency(&self) -> Duration

Текущая задержка

Source

fn list_input_devices(&self) -> Vec<String>

Получить список доступных входных устройств

Source

fn list_output_devices(&self) -> Vec<String>

Получить список доступных выходных устройств

Implementations on Foreign Types§

Source§

impl<T: AudioBackend + ?Sized> AudioBackend for Box<T>

Source§

fn backend_type(&self) -> BackendType

Source§

fn config(&self) -> &AudioConfig

Source§

fn config_mut(&mut self) -> &mut AudioConfig

Source§

fn init(&mut self) -> IoResult<()>

Source§

fn start(&mut self) -> IoResult<()>

Source§

fn stop(&mut self) -> IoResult<()>

Source§

fn read(&mut self, buffer: &mut [f32]) -> IoResult<usize>

Source§

fn write(&mut self, buffer: &[f32]) -> IoResult<usize>

Source§

fn xruns(&self) -> u32

Source§

fn latency(&self) -> Duration

Source§

fn list_input_devices(&self) -> Vec<String>

Source§

fn list_output_devices(&self) -> Vec<String>

Implementors§