@capgo/capacitor-mux-player
v8.0.4
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/
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 |
