Skip to main content

PlaybackState

Struct PlaybackState 

Source
#[repr(C)]
pub struct PlaybackState { pub position_s: f32, pub duration_s: f32, pub volume: f32, pub playing: bool, pub muted: bool, }
Expand description

What a media node’s playback looks like right now.

Field order is by descending alignment (the f32s, then the bools): the repo’s alignment-order check is a hard error, and a bool wedged between two f32s is what trips it.

Fields§

§position_s: f32

Playback position, in seconds from the start.

§duration_s: f32

Total length in seconds, or 0.0 when it is not known yet (a live stream, or metadata that has not arrived). An unknown duration means playback never reaches an end, so Ended cannot fire.

§volume: f32

Output gain, 0.0..=1.0.

§playing: bool

Whether the transport is running.

§muted: bool

Muted independently of volume, exactly as the web models it - so unmuting restores the level the user had chosen.

Implementations§

Source§

impl PlaybackState

Source

pub fn progress(&self) -> Option<f32>

How far through the media we are, 0.0..=1.0, or None while the duration is unknown - a progress bar with no known length is a real state, not a zero.

Source

pub fn effective_volume(&self) -> f32

The gain that actually reaches the sink: 0.0 while muted.

Trait Implementations§

Source§

impl Clone for PlaybackState

Source§

fn clone(&self) -> PlaybackState

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for PlaybackState

Source§

impl Debug for PlaybackState

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for PlaybackState

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl PartialEq for PlaybackState

Source§

fn eq(&self, other: &PlaybackState) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for PlaybackState

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

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

Source§

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.