mux-audio
Audio element for Mux-hosted HLS streams
Audio element for playing Mux-hosted HLS streams. Built on hls.js with Mux-specific optimizations.
Analytics and casting
MuxAudio plays Mux streams. It doesn’t monitor them or cast them — Mux Data and Google Cast are separate components you add to the player alongside it. Mux Data needs no environment key here, since Mux attributes the views to the environment that owns the playback ID:
import { GoogleCast } from '@videojs/react/media/google-cast';
import { MuxAudio } from '@videojs/react/media/mux-audio';
import { MuxData } from '@videojs/react/media/mux-data';
<MuxAudio source={{ playbackId: 'BV3YZtogl89mg9VcNBhhnHm02Y34zI1nlMuMQfAbl3dM' }} />
<MuxData playerSoftwareName="mux-audio" />
<GoogleCast /><mux-audio src="https://stream.mux.com/BV3YZtogl89mg9VcNBhhnHm02Y34zI1nlMuMQfAbl3dM.m3u8"></mux-audio>
<mux-data player-software-name="mux-audio"></mux-data>
<google-cast></google-cast>Register the elements by importing @videojs/html/media/mux-data and @videojs/html/media/google-cast.
Examples
Basic Usage
import { MuxAudio } from '@videojs/react/media/mux-audio';
export default function BasicUsage() {
return <MuxAudio className="mux-audio" src="https://stream.mux.com/BV3YZtogl89mg9VcNBhhnHm02Y34zI1nlMuMQfAbl3dM.m3u8" crossOrigin="anonymous" controls />;
}
.mux-audio {
width: 100%;
height: 54px;
}
<mux-audio
class="mux-audio"
src="https://stream.mux.com/BV3YZtogl89mg9VcNBhhnHm02Y34zI1nlMuMQfAbl3dM.m3u8"
crossorigin="anonymous"
controls
></mux-audio>
.mux-audio {
width: 100%;
height: 54px;
}
import '@videojs/html/media/mux-audio';
API Reference
Attributes
Forwards these standard media attributes to the internal <audio>. See the MDN media element reference: autopictureinpictureautoplaycontrolscontrolslistcrossorigindisablepictureinpicturedisableremoteplaybackloadingloopmutedplaysinlineposterpreloadsrc
These Video.js-specific attributes configure media behavior:
| Attribute | Type | Default | Details |
|---|---|---|---|
stream-type | StreamType | 'unknown' | |
| |||
Properties
| Property | Type | Default | Details |
|---|---|---|---|
audioRenditions | AudioRenditionListLike | undefined | — | |
| |||
audioTracks | AudioTrackListLike | undefined | — | |
| |||
config | HlsMediaConfig | {} | |
| |||
engine | Hls | null | — | |
| |||
error | (ErrorLike & MediaError) | null | — | |
| |||
liveEdgeStart | number | — | |
| |||
preload | PreloadType | 'metadata' | |
| |||
source | MuxSource | null | null | |
| |||
src | string | '' | |
| |||
storyboard | string | '' | |
| |||
streamType | StreamType | 'unknown' | |
| |||
targetLiveWindow | number | — | |
| |||
thumbnail | string | '' | |
| |||
videoRenditions | VideoRenditionListLike | undefined | — | |
| |||
videoTracks | VideoTrackListLike | undefined | — | |
| |||
Also exposes these properties from the native media API. See HTMLAudioElement for details: autoplaybufferedcontrolscrossOrigincurrentSrccurrentTimedefaultMuteddefaultPlaybackRatedisableRemotePlaybackdurationendedloopmutedpausedplaybackRateplayedreadyStateremoteseekableseekingtextTrackstitlevolume
Methods
Supports these media methods. See HTMLAudioElement for details: addTextTrackcanPlayTypeloadpauseplay
Events
Re-dispatches these standard media events from the internal media element: abortaddtrackcanplaycanplaythroughchangedurationchangeemptiedendederrorloadeddataloadedmetadataloadstartpauseplayplayingprogressratechangeremovetrackseekedseekingstalledsuspendtimeupdatevolumechangewaiting
Also emits these Video.js-specific events:
| Event | Description |
|---|---|
sourcechange | Fired when `source` changes, either directly or by parsing a new `src`. Read `source` for the new value. |
streamtypechange | Fired when the detected stream type changes. Read `streamType` for the new value. |
targetlivewindowchange | Fired when the target live window changes. Read `targetLiveWindow` for the new value. |