Struct awedio::backends::CpalBackend

source ·
pub struct CpalBackend { /* private fields */ }
Expand description

A backend that uses cpal to output to devices.

This backend does not currently update the output device if the default output device of the host changes.

Implementations§

source§

impl CpalBackend

source

pub fn with_defaults() -> Option<CpalBackend>

Create a new CpalBackend with defaults for all fields.

Returns None if a default device or config could not be obtained.

source

pub fn with_default_host_and_device( channel_count: u16, sample_rate: u32, buffer_size: CpalBufferSize ) -> Option<CpalBackend>

Create a new backend.

Returns None if an output device is not found

source

pub fn new( channel_count: u16, sample_rate: u32, buffer_size: CpalBufferSize, device: Device ) -> CpalBackend

Create a new CpalBackend specifying all fields.

source§

impl CpalBackend

source

pub fn start<E>( &mut self, error_callback: E ) -> Result<Manager, CpalBackendError>
where E: FnMut(StreamError) + Send + 'static,

Start a cpal output stream and connect it to the returned Manager.

Only a single stream is supported at a time per CpalBackend object.

Cpal stream errors will be reported by calling error_callback.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<S> FromSample<S> for S

source§

fn from_sample_(s: S) -> S

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<F, T> IntoSample<T> for F
where T: FromSample<F>,

source§

fn into_sample(self) -> T

source§

impl<T, U> ToSample<U> for T
where U: FromSample<T>,

source§

fn to_sample_(self) -> U

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<S, T> Duplex<S> for T
where T: FromSample<S> + ToSample<S>,