[][src]Struct moxie_dom::elements::media::AudioBuilder

#[must_use = "needs to be built"]pub struct AudioBuilder { /* fields omitted */ }

The HTML <audio> element is used to embed sound content in documents. It may contain one or more audio sources, represented using the src attribute or the <source> element: the browser will choose the most suitable one. It can also be the destination for streamed media, using a MediaStream.

A type for initializing the element's attributes before calling build.


impl AudioBuilder[src]

pub fn build(self) -> Audio[src]

Initialize the element with all of the attributes so far.

impl AudioBuilder[src]

pub fn autoplay(self, to_set: bool) -> Self[src]

If specified, the audio will automatically begin playback as soon as it can do so, without waiting for the entire audio file to finish downloading.

Note: Sites that automatically play audio (or videos with an audio track) can be an unpleasant experience for users, so should be avoided when possible. If you must offer autoplay functionality, you should make it opt-in (requiring a user to specifically enable it). However, this can be useful when creating media elements whose source will be set at a later time, under user control. See our autoplay guide for additional information about how to properly use autoplay.

pub fn controls(self, to_set: bool) -> Self[src]

If this attribute is present, the browser will offer controls to allow the user to control audio playback, including volume, seeking, and pause/resume playback.

pub fn crossorigin(self, to_set: impl ToString) -> Self[src]

This enumerated attribute indicates whether to use CORS to fetch the related audio file. CORS-enabled resources can be reused in the <canvas> element without being tainted.

When not present, the resource is fetched without a CORS request (i.e. without sending the Origin: HTTP header), preventing its non-tainted used in <canvas> elements. If invalid, it is handled as if the enumerated keyword anonymous was used.

The allowed values are:


Sends a cross-origin request without a credential. In other words, it sends the Origin: HTTP header without a cookie, X.509 certificate, or performing HTTP Basic authentication. If the server does not give credentials to the origin site (by not setting the Access-Control-Allow-Origin: HTTP header), the image will be tainted, and its usage restricted.


Sends a cross-origin request with a credential. In other words, it sends the Origin: HTTP header with a cookie, a certificate, or performing HTTP Basic authentication. If the server does not give credentials to the origin site (through Access-Control-Allow-Credentials: HTTP header), the image will be tainted and its usage restricted.

pub fn current_time(self, to_set: impl ToString) -> Self[src]

Reading currentTime returns a double-precision floating-point value indicating the current playback position, in seconds, of the audio. If the audio's metadata isn't available yet—thereby preventing you from knowing the media's start time or duration—currentTime instead indicates, and can be used to change, the time at which playback will begin. Otherwise, setting currentTime sets the current playback position to the given time and seeks the media to that position if the media is currently loaded.

If the audio is being streamed, it's possible that the user agent may not be able to obtain some parts of the resource if that data has expired from the media buffer. Other audio may have a media timeline that doesn't start at 0 seconds, so setting currentTime to a time before that would fail. For example, if the audio's media timeline starts at 12 hours, setting currentTime to 3600 would be an attempt to set the current playback position well before the beginning of the media, and would fail. The getStartDate() method can be used to determine the beginning point of the media timeline's reference frame.

pub fn loop_(self, to_set: bool) -> Self[src]

If specified, the audio player will automatically seek back to the start upon reaching the end of the audio.

pub fn muted(self, to_set: bool) -> Self[src]

Indicates whether the audio will be initially silenced. Its default value is false.

pub fn preload(self, to_set: impl ToString) -> Self[src]

This enumerated attribute is intended to provide a hint to the browser about what the author thinks will lead to the best user experience. It may have one of the following values:

  • none: Indicates that the audio should not be preloaded.
  • metadata: Indicates that only audio metadata (e.g. length) is fetched.
  • auto: Indicates that the whole audio file can be downloaded, even if the user is not expected to use it.
  • empty string: A synonym of the auto value.

The default value is different for each browser. The spec advises it to be set to metadata.

Usage notes:

The autoplay attribute has precedence over preload. If autoplay is specified, the browser would obviously need to start downloading the audio for playback.

The browser is not forced by the specification to follow the value of this attribute; it is a mere hint.

pub fn src(self, to_set: impl ToString) -> Self[src]

The URL of the audio to embed. This is subject to HTTP access controls. This is optional; you may instead use the <source> element within the audio block to specify the audio to embed.

Trait Implementations

impl ElementBuilder for AudioBuilder[src]

impl<E> EventTarget<E> for AudioBuilder where
    E: GlobalEvent

impl GlobalEventHandler for AudioBuilder[src]

impl HtmlElementBuilder for AudioBuilder[src]

impl NodeWrapper for AudioBuilder[src]

impl Parent<Source> for AudioBuilder[src]

impl Parent<Track> for AudioBuilder[src]

Auto Trait Implementations

impl !RefUnwindSafe for AudioBuilder[src]

impl !Send for AudioBuilder[src]

impl !Sync for AudioBuilder[src]

impl Unpin for AudioBuilder[src]

impl !UnwindSafe for AudioBuilder[src]

Blanket Implementations

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

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

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

impl<N> Child for N where
    N: NodeWrapper

impl<T> Downcast for T where
    T: Any

impl<T> Erased for T

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

impl<T> Instrument for T[src]

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

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

type Error = Infallible

The type returned in the event of a conversion error.

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.