Struct sdl2::audio::AudioDevice

source ·
pub struct AudioDevice<CB: AudioCallback> { /* private fields */ }
Expand description

Wraps SDL_AudioDeviceID and owns the callback data used by the audio device.

Implementations§

source§

impl<CB: AudioCallback> AudioDevice<CB>

source

pub fn open_playback<'a, F, D>( a: &AudioSubsystem, device: D, spec: &AudioSpecDesired, get_callback: F, ) -> Result<AudioDevice<CB>, String>
where F: FnOnce(AudioSpec) -> CB, D: Into<Option<&'a str>>,

Opens a new audio device for playback (given the desired parameters and callback).

source

pub fn open_capture<'a, F, D>( a: &AudioSubsystem, device: D, spec: &AudioSpecDesired, get_callback: F, ) -> Result<AudioDevice<CB>, String>
where F: FnOnce(AudioSpec) -> CB, D: Into<Option<&'a str>>,

Opens a new audio device for capture (given the desired parameters and callback). Supported since SDL 2.0.5

source

pub fn subsystem(&self) -> &AudioSubsystem

source

pub fn spec(&self) -> &AudioSpec

source

pub fn status(&self) -> AudioStatus

source

pub fn pause(&self)

Pauses playback of the audio device.

source

pub fn resume(&self)

Starts playback of the audio device.

source

pub fn lock(&mut self) -> AudioDeviceLockGuard<'_, CB>

Locks the audio device using SDL_LockAudioDevice.

When the returned lock guard is dropped, SDL_UnlockAudioDevice is called. Use this method to read and mutate callback data.

source

pub fn close_and_get_callback(self) -> CB

Closes the audio device and saves the callback data from being dropped.

Note that simply dropping AudioDevice will close the audio device, but the callback data will be dropped.

Auto Trait Implementations§

§

impl<CB> Freeze for AudioDevice<CB>

§

impl<CB> RefUnwindSafe for AudioDevice<CB>
where CB: RefUnwindSafe,

§

impl<CB> !Send for AudioDevice<CB>

§

impl<CB> !Sync for AudioDevice<CB>

§

impl<CB> Unpin for AudioDevice<CB>

§

impl<CB> UnwindSafe for AudioDevice<CB>
where CB: UnwindSafe,

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<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<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.