[−][src]Struct serenity::voice::Audio
Control object for audio playback.
Accessed by both commands and the playback code -- as such, access is
always guarded. In particular, you should expect to receive
a LockedAudio
when calling Handler::play_returning
or
Handler::play_only
.
Example
use serenity::voice::{Handler, LockedAudio, ffmpeg}; let handler: Handler = /* ... */; let source = ffmpeg("../audio/my-favourite-song.mp3")?; let safe_audio: LockedAudio = handler.play_only(); { let audio_lock = safe_audio_control.clone(); let mut audio = audio_lock.lock(); audio.volume(0.5); }
Fields
playing: bool
Whether or not this sound is currently playing.
Can be controlled with play
or pause
if chaining is desired.
volume: f32
The desired volume for playback.
Sensible values fall between 0.0
and 1.0
.
Can be controlled with volume
if chaining is desired.
finished: bool
Whether or not the sound has finished, or reached the end of its stream.
Read-only for now.
source: Box<dyn AudioSource>
Underlying data access object.
Calling code is not expected to use this.
position: Duration
The current position for playback.
Consider the position fields read-only for now.
position_modified: bool
Methods
impl Audio
[src]
pub fn new(source: Box<dyn AudioSource>) -> Self
[src]
pub fn play(&mut self) -> &mut Self
[src]
Sets playing
to true
in a manner that allows method chaining.
pub fn pause(&mut self) -> &mut Self
[src]
Sets playing
to false
in a manner that allows method chaining.
pub fn volume(&mut self, volume: f32) -> &mut Self
[src]
Sets volume
in a manner that allows method chaining.
pub fn position(&mut self, position: Duration) -> &mut Self
[src]
Change the position in the stream for subsequent playback.
Currently a No-op.
Auto Trait Implementations
Blanket Implementations
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> Erased for T
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
U: TryFrom<T>,
impl<T> UnsafeAny for T where
T: Any,
T: Any,