[][src]Struct sdl2::audio::AudioDevice

pub struct AudioDevice<CB: AudioCallback> { /* fields omitted */ }

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

Methods

impl<CB: AudioCallback> AudioDevice<CB>[src]

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>>, 
[src]

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

If you want to modify the callback-owned data at a later point (for example to update its data buffer) you're likely to be interested in the lock method.

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>>, 
[src]

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

If you want to modify the callback-owned data at a later point (for example to update its data buffer) you're likely to be interested in the lock method.

pub fn subsystem(&self) -> &AudioSubsystem[src]

pub fn spec(&self) -> &AudioSpec[src]

pub fn status(&self) -> AudioStatus[src]

pub fn pause(&self)[src]

Pauses playback of the audio device.

pub fn resume(&self)[src]

Starts playback of the audio device.

pub fn lock(&mut self) -> AudioDeviceLockGuard<CB>[src]

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.

pub fn close_and_get_callback(self) -> CB[src]

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> !RefUnwindSafe for AudioDevice<CB>

impl<CB> !Send for AudioDevice<CB>

impl<CB> !Sync for AudioDevice<CB>

impl<CB> Unpin for AudioDevice<CB>

impl<CB> !UnwindSafe for AudioDevice<CB>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.