audio | AudioPlayerAudioProp | — | Audio source: one clip, several clips on an absolute timeline, one URL, or several URLs. URLs and elements may grant
access to sensitive recordings. Do not log, persist in storage, or attach to DOM attributes for debugging. |
copy | AudioPlayerCopy | — | Required copy for every visible and accessibility string. |
activePlayerId | string | null | — | When set, identifies which player is globally active. When this changes to a different value than playerId, this
player stops. Clearing to null stops the player that was active. Use opaque IDs, not names or phone numbers. |
currentTime | number | — | Controlled absolute current time in milliseconds on the timeline. |
defaultCurrentTime | number | — | Uncontrolled initial absolute current time in milliseconds. |
defaultMuted | boolean | — | Uncontrolled initial mute state. |
defaultPlaybackRate | number | — | Uncontrolled initial playback speed. |
defaultPlaying | boolean | — | Uncontrolled initial playback state. |
defaultVolume | number | — | Uncontrolled initial volume from 0 to 1. |
description | LocalizedMessage | DisplayValue | — | Secondary line under the title in the Full variant. |
includePlaybackRates | boolean | — | When true, renders the playback rate menu. |
locale | string | — | BCP 47 locale for time and rate formatting. |
muted | boolean | — | Controlled mute state. |
onError | ((details: AudioPlayerErrorDetails) => void) | — | Called when playback fails with a closed reason. |
onManualTimeScrub | ((timeMs: number) => void) | — | Called when the user scrubs the seek slider. |
onMutedChange | ((muted: boolean, details: ChangeDetails<ChangeReason>) => void) | — | Called when mute state changes. |
onPlaybackRateChange | ((rate: number, details: ChangeDetails<ChangeReason>) => void) | — | Called when the selected playback rate changes. |
onPlaybackStarted | (() => void) | — | Called each time a clip's play() resolves. |
onPlayingChange | ((playing: boolean, details: ChangeDetails<ChangeReason>) => void) | — | Called when playback state changes. |
onPressNext | (() => void) | — | Next-track handler. When provided, shows the next-track button. |
onPressPlay | (() => Promise<void | AudioPlayerAudioProp>) | — | Async callback invoked before playback starts. When it resolves audio, that result replaces audio for this
instance. Do not log return values or rejections that may carry sensitive URLs. |
onPressPrevious | (() => void) | — | Previous-track handler. When provided, shows the previous-track button. |
onTimeChange | ((timeMs: number, details: ChangeDetails<ChangeReason>) => void) | — | Called when the absolute timeline position changes. |
onVolumeChange | ((volume: number, details: ChangeDetails<ChangeReason>) => void) | — | Called when volume changes. |
playbackRate | number | — | Controlled playback speed. |
playerId | string | — | Opaque id for the page-wide single-active registry. When omitted, this player never joins the registry. |
playing | boolean | — | Controlled playback state. |
preload | AudioPreload | — | Preload policy for URL sources. Defaults to {@link AudioPreload.Metadata}. |
shouldAutoPlayNext | boolean | — | When true, calls onPressNext automatically when the current audio finishes. |
showTimeStamps | boolean | — | Whether to show elapsed and total timestamps. |
skipInterval | number | — | When set, renders skip buttons that move by this many milliseconds. |
timeDisplayMode | TimeDisplayMode | — | How timestamps are arranged when showTimeStamps is true. |
timeNotifyIntervalMs | number | — | Target minimum milliseconds between playback time samples. |
title | LocalizedMessage | DisplayValue | — | Title shown in the Full variant. Avoid PII you do not want in the DOM. |
totalDurationHintMs | number | — | Display-only total duration before clips load. |
variant | AudioPlayerVariant | — | Layout variant. Defaults to {@link AudioPlayerVariant.Standard}. |
volume | number | — | Controlled volume from 0 to 1. |