The most complete doc is available here: https://capgo.app/docs/plugins/mux-player/
npm install @capgo/capacitor-mux-player
npx cap sync- Requires iOS 15 or newer.
- Add the Swift package
https://github.com/muxinc/mux-player-swiftto your Xcode workspace so that theMuxPlayerSwiftmodule is available at build time. - If you manage native dependencies through CocoaPods, prefer integrating this plugin via Swift Package Manager or add the Mux package manually to your app target.
- Gradle pulls the player from the Mux artifactory (
https://muxinc.jfrog.io/artifactory/default-maven-release-local). Ensure your corporate proxy allows downloads from that host. - The plugin depends on Kotlin 1.9 and Media3 1.1.x through the Mux artifact. No additional configuration is required in the consuming app.
- The plugin bundles
@mux/mux-playerand renders the video in a fullscreen overlay. The player automatically injects a close affordance for desktop and mobile browsers.
play(options: MuxPlayOptions) => Promise<void>Launch the native Mux Player in fullscreen and begin playback.
| Param | Type |
|---|---|
options |
MuxPlayOptions |
dismiss() => Promise<void>Dismiss the player if it is visible.
isActive() => Promise<{ active: boolean; }>Returns whether the player is currently being displayed.
Returns: Promise<{ active: boolean; }>
removeAllListeners() => Promise<void>Remove all event listeners registered on the plugin instance.
addListener<E extends keyof MuxPlayerEvents>(eventName: E, listenerFunc: (event: MuxPlayerEvents[E]) => void) => Promise<PluginListenerHandle>Listen to player lifecycle or playback events emitted by the plugin.
| Param | Type |
|---|---|
eventName |
E |
listenerFunc |
(event: MuxPlayerEvents[E]) => void |
Returns: Promise<PluginListenerHandle>
| Prop | Type | Description |
|---|---|---|
playbackId |
string |
The playback ID of the asset you want to stream. |
playbackToken |
string |
Provide a JSON web token generated for signed playback policies. |
drmToken |
string |
Provide a JSON web token generated for DRM playback policies. |
customDomain |
string |
Override the default Mux playback domain (e.g. stream.example.com). |
autoPlay |
boolean |
Auto-play when the player becomes visible. Defaults to true. |
startTime |
number |
Start playback from the provided time (in seconds). |
poster |
string |
Provide a poster image URL to display before playback begins. |
title |
string |
Provide a custom title to surface in native player chrome when available. |
subtitle |
string |
Provide a subtitle or description to surface in native player chrome when available. |
muted |
boolean |
Set to true to keep the video muted when playback starts. |
environmentKey |
string |
Mux Data environment key used for analytics. If omitted, the SDK default is used. |
playerName |
string |
Provide an explicit player name for analytics. Defaults to a generated name. |
enableSmartCache |
boolean |
Enable smart caching when the underlying SDK supports it. |
debug |
boolean |
Enable verbose logging in native SDKs where available. |
| Prop | Type |
|---|---|
remove |
() => Promise<void> |
| Prop | Type | Description |
|---|---|---|
ready |
{ playerName?: string; } |
Fired when the underlying player is ready to begin playback. |
play |
void |
Fired when playback starts or resumes. |
pause |
void |
Fired when playback pauses. |
ended |
void |
Fired when playback ends. |
error |
{ message: string; } |
Fired when an unrecoverable error occurs. |
playerDismissed |
void |
Fired when the fullscreen player is closed. |
| Method | Signature | Description |
|---|---|---|
| getPluginVersion | () => Promise<{ version: string; }> | Get the native Capacitor plugin version |
