Skip to content

Cap-go/capacitor-mux-player

@capgo/capacitor-mux-player

Capgo - Instant updates for capacitor

Naitve Mux Player SDK to play video on IOS and Android

Documentation

The most complete doc is available here: https://capgo.app/docs/plugins/mux-player/

Install

npm install @capgo/capacitor-mux-player
npx cap sync

iOS setup

  • Requires iOS 15 or newer.
  • Add the Swift package https://github.com/muxinc/mux-player-swift to your Xcode workspace so that the MuxPlayerSwift module 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-player and 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

About

Capacitor plugin to play video with Mux Player SDK on IOS and Android

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Contributors 3

  •  
  •  
  •