@theredhead — Frontend Library - v1.0.0
    Preparing search index...

    A versatile media player supporting audio and video playback from URL sources or in-memory binary blobs.

    Built-in transport controls (play/pause, seek, volume, mute, playback rate, fullscreen) are shown by default but can be hidden via [controls]="false" for fully custom UIs that drive the player programmatically.

    Text tracks (subtitles, captions, chapters, etc.) are supported via the [tracks] input and rendered as native <track> elements, leaving room for future expansion.

    <!-- Video from URL — poster auto-generated if omitted -->
    <ui-media-player
    type="video"
    [source]="{ url: 'https://example.com/video.mp4', type: 'video/mp4' }"
    />

    <!-- Explicit poster -->
    <ui-media-player
    type="video"
    [source]="{ url: 'https://example.com/video.mp4', type: 'video/mp4' }"
    poster="https://example.com/poster.jpg"
    />

    <!-- YouTube embed (requires registering youTubeEmbedProvider) -->
    <ui-media-player
    type="video"
    [source]="{ url: 'https://www.youtube.com/watch?v=dQw4w9WgXcQ' }"
    />

    <!-- Audio from Blob -->
    <ui-media-player
    type="audio"
    [source]="{ blob: audioBlob, type: 'audio/wav' }"
    [controls]="true"
    />
    Index

    Constructors

    • Returns UIMediaPlayer

    Properties

    ariaLabel: InputSignal<string> = ...

    Accessible label for the media player region.

    autoplay: InputSignal<boolean> = ...

    Whether to autoplay when a source is set.

    controls: InputSignal<boolean> = ...

    Whether to show built-in transport controls.

    crossOrigin: InputSignal<MediaCrossOrigin | null> = ...

    CORS setting for the underlying media element.

    Defaults to 'anonymous' so that cross-origin videos can be drawn to a canvas for automatic poster-frame generation. Set to null to omit the attribute entirely (disables poster auto-generation for cross-origin resources).

    disabled: InputSignal<boolean> = ...

    Whether the media player is disabled.

    errorIcon: "<circle cx=\"12\" cy=\"12\" r=\"10\" /><line x1=\"12\" x2=\"12\" y1=\"8\" y2=\"12\" /><line x1=\"12\" x2=\"12.01\" y1=\"16\" y2=\"16\" />" = UIIcons.Lucide.Notifications.CircleAlert

    SVG content for the error state icon (Lucide CircleAlert).

    fit: InputSignal<MediaFit> = ...

    How video is fitted within the viewport (CSS object-fit).

    hasError: Signal<boolean> = ...

    Whether the player is in an error state.

    isEmbed: Signal<boolean> = ...

    Whether the player is in embed (iframe) mode rather than native <video> / <audio> playback.

    loop: InputSignal<boolean> = ...

    Whether playback should loop.

    mediaEnded: OutputEmitterRef<MediaPlayerEvent> = ...

    Emitted when playback ends.

    mediaError: OutputEmitterRef<MediaPlayerEvent> = ...

    Emitted on playback error.

    mediaLoadedMetadata: OutputEmitterRef<MediaPlayerEvent> = ...

    Emitted when metadata (duration, dimensions) has loaded.

    mediaPause: OutputEmitterRef<MediaPlayerEvent> = ...

    Emitted when playback is paused.

    mediaPlay: OutputEmitterRef<MediaPlayerEvent> = ...

    Emitted when playback begins.

    mediaTimeUpdate: OutputEmitterRef<MediaPlayerEvent> = ...

    Emitted when the current time changes (throttled to animation frames).

    muted: ModelSignal<boolean> = ...

    Whether the media should start muted.

    playbackRates: InputSignal<readonly number[]> = ...

    Available playback rates for the rate selector.

    poster: InputSignal<string> = ...

    Poster image URL shown before playback begins (video only).

    When omitted (or set to an empty string) the component automatically captures a frame from the loaded video and uses it as the poster, so there is always a meaningful preview instead of a black rectangle.

    preload: InputSignal<MediaPreload> = ...

    Resource preload strategy.

    source: InputSignal<MediaSource | null> = ...

    The media source (URL or Blob).

    sources: InputSignal<readonly MediaSource[]> = ...

    Multiple sources for format fallback.

    When provided, these are rendered as <source> elements inside the media element, giving the browser format negotiation. If source is also set it is prepended to this list.

    tracks: InputSignal<readonly MediaTrack[]> = ...

    Text tracks (subtitles, captions, chapters, metadata).

    type: InputSignal<MediaType> = ...

    The type of media element to render.

    volume: ModelSignal<number> = ...

    Initial volume 0..1.

    Methods

    • Pause playback.

      Returns void

    • Start or resume playback.

      Returns void

    • Request fullscreen on the media element (video only).

      Returns void

    • Seek to a specific time in seconds.

      Parameters

      • time: number

      Returns void

    • Set the playback rate.

      Parameters

      • rate: number

      Returns void

    • Set the playback volume (0..1).

      Parameters

      • vol: number

      Returns void

    • Toggle mute state.

      Returns void

    • Toggle between play and pause.

      Returns void