npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@capgo/capacitor-mux-player

v8.0.18

Published

Native Mux Player SDK to play video on IOS and Android

Downloads

56,975

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

You can use our AI-Assisted Setup to install the plugin. Add the Capgo skills to your AI tool using the following command:

npx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-plugins

Then use the following prompt:

Use the `capacitor-plugins` skill from `cap-go/capacitor-skills` to install the `@capgo/capacitor-mux-player` plugin in my project.

If you prefer Manual Setup, install the plugin by running the following commands and follow the platform-specific instructions below:

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.
  • npx cap sync android adds the Mux Maven repository to android/build.gradle automatically. If Capacitor lifecycle hooks are disabled in your project, add that repository manually to the root Gradle configuration (android/build.gradle).
  • The plugin uses Kotlin 2.2.20 and resolves Media3 transitively through the Mux artifact.
  • Android apps targeting SDK 33 or newer will also see android.permission.POST_NOTIFICATIONS merged from this library. The plugin does not request notifications at runtime; the manifest entry prevents Android lint failures caused by Mux's Glide NotificationTarget dependency. If your app does not need that permission, remove it from your app manifest with:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">
    <uses-permission
        android:name="android.permission.POST_NOTIFICATIONS"
        tools:node="remove" />
</manifest>

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 |