@capgo/capacitor-mux-player
v8.0.9
Published
Native Mux Player SDK to play video on IOS and Android
Maintainers
Readme
@capgo/capacitor-mux-player
Documentation
The most complete doc is available here: https://capgo.app/docs/plugins/mux-player/
Compatibility
| Plugin version | Capacitor compatibility | Maintained | | -------------- | ----------------------- | ---------- | | v8.*.* | v8.*.* | ✅ | | v7.*.* | v7.*.* | On demand | | v6.*.* | v6.*.* | ❌ | | v5.*.* | v5.*.* | ❌ |
Note: The major version of this plugin follows the major version of Capacitor. Use the version that matches your Capacitor installation (e.g., plugin v8 for Capacitor 8). Only the latest major version is actively maintained.
Install
npm install @capgo/capacitor-mux-player
npx cap synciOS setup
- 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.
Android setup
- 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.
Web setup
- 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.
API
play(...)
play(options: MuxPlayOptions) => Promise<void>Launch the native Mux Player in fullscreen and begin playback.
| Param | Type |
| ------------- | --------------------------------------------------------- |
| options | MuxPlayOptions |
dismiss()
dismiss() => Promise<void>Dismiss the player if it is visible.
isActive()
isActive() => Promise<{ active: boolean; }>Returns whether the player is currently being displayed.
Returns: Promise<{ active: boolean; }>
removeAllListeners()
removeAllListeners() => Promise<void>Remove all event listeners registered on the plugin instance.
addListener(E, ...)
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>
Interfaces
MuxPlayOptions
| 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. |
PluginListenerHandle
| Prop | Type |
| ------------ | ----------------------------------------- |
| remove | () => Promise<void> |
MuxPlayerEvents
| 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 |
