Hiyve Components - v1.0.0
    Preparing search index...
    interface MediaPlayerProps {
        colors?: Partial<MediaPlayerColors>;
        compact?: boolean;
        currentUserId?: string;
        enableAudioPassthrough?: boolean;
        enableKeyboardShortcuts?: boolean;
        enableMarkers?: boolean;
        enableMute?: boolean;
        enableRateControl?: boolean;
        enableRegions?: boolean;
        enableVolumeControl?: boolean;
        enableWaveform?: boolean;
        externalAudioSource?: ExternalAudioSource;
        fileSize?: number;
        labels?: Partial<MediaPlayerLabels>;
        markers?: TimelineMarkerData[];
        mediaType?: "audio" | "video";
        onAudioStreamReady?: (stream: MediaStream) => void;
        onEnded?: () => void;
        onError?: (error: Error) => void;
        onMarkerAdd?: (marker: TimelineMarkerData) => void;
        onMarkerChange?: (marker: TimelineMarkerData) => void;
        onMarkerDelete?: (markerId: string) => void;
        onPause?: () => void;
        onPlay?: () => void;
        onRegionChange?: (region: RegionData) => void;
        onRegionDelete?: (regionId: string) => void;
        onTimeUpdate?: (time: number) => void;
        regions?: RegionData[];
        seekTo?: number | null;
        src: string;
    }
    Index

    Properties

    colors?: Partial<MediaPlayerColors>

    Override default colors

    compact?: boolean

    Compact layout mode

    currentUserId?: string

    Current user ID — used to determine edit/delete permissions on markers

    enableAudioPassthrough?: boolean

    Enable audio passthrough to Hiyve meeting (default: false)

    enableKeyboardShortcuts?: boolean

    Enable keyboard shortcuts — space for play/pause (default: true)

    enableMarkers?: boolean

    Enable timeline marker creation and display (default: false)

    enableMute?: boolean

    Enable mute/unmute button (default: true)

    enableRateControl?: boolean

    Show playback rate control button (default: true, auto-disabled on Safari)

    enableRegions?: boolean

    Enable region creation, editing, and loop playback (default: false)

    enableVolumeControl?: boolean

    Show volume/gain control button (default: true)

    enableWaveform?: boolean

    Show waveform visualization (default: true)

    externalAudioSource?: ExternalAudioSource

    External audio source for gain visualization in the mixer

    fileSize?: number

    File size in bytes — used for large file detection (>200MB skips waveform)

    labels?: Partial<MediaPlayerLabels>

    Override default labels/tooltips

    markers?: TimelineMarkerData[]

    Initial timeline markers to load

    mediaType?: "audio" | "video"

    Force media type detection instead of auto-detecting

    onAudioStreamReady?: (stream: MediaStream) => void

    Called when the audio output stream is ready (for passthrough)

    onEnded?: () => void
    onError?: (error: Error) => void
    onMarkerAdd?: (marker: TimelineMarkerData) => void

    Called when a new marker is added

    onMarkerChange?: (marker: TimelineMarkerData) => void

    Called when a marker is updated

    onMarkerDelete?: (markerId: string) => void

    Called when a marker is deleted

    onPause?: () => void
    onPlay?: () => void
    onRegionChange?: (region: RegionData) => void

    Called when a named region is created or updated

    onRegionDelete?: (regionId: string) => void

    Called when a named region is deleted

    onTimeUpdate?: (time: number) => void
    regions?: RegionData[]

    Initial named regions to load

    seekTo?: number | null

    When set, the player seeks to this time (in seconds). Update the value to trigger a new seek.

    src: string

    Media URL to play