{"id":31433410,"url":"https://github.com/cap-go/capacitor-mux-player","last_synced_at":"2026-02-01T01:06:47.532Z","repository":{"id":316895489,"uuid":"1064414674","full_name":"Cap-go/capacitor-mux-player","owner":"Cap-go","description":"Capacitor plugin to play video with Mux Player SDK on IOS and Android","archived":false,"fork":false,"pushed_at":"2026-01-28T17:42:36.000Z","size":686,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-29T07:37:02.149Z","etag":null,"topics":["capacitor","plugin"],"latest_commit_sha":null,"homepage":"https://capgo.app","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Cap-go.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"Cap-go","patreon":null,"open_collective":"capgo","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2025-09-26T02:12:31.000Z","updated_at":"2026-01-28T17:45:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"9c491d0f-abbf-44af-b9e3-9138654ca512","html_url":"https://github.com/Cap-go/capacitor-mux-player","commit_stats":null,"previous_names":["cap-go/capacitor-mux-player"],"tags_count":28,"template":false,"template_full_name":null,"purl":"pkg:github/Cap-go/capacitor-mux-player","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cap-go%2Fcapacitor-mux-player","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cap-go%2Fcapacitor-mux-player/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cap-go%2Fcapacitor-mux-player/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cap-go%2Fcapacitor-mux-player/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Cap-go","download_url":"https://codeload.github.com/Cap-go/capacitor-mux-player/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cap-go%2Fcapacitor-mux-player/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28963243,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-01T00:42:38.011Z","status":"ssl_error","status_checked_at":"2026-02-01T00:42:35.920Z","response_time":128,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["capacitor","plugin"],"created_at":"2025-09-30T11:13:40.924Z","updated_at":"2026-02-01T01:06:47.528Z","avatar_url":"https://github.com/Cap-go.png","language":"Swift","funding_links":["https://github.com/sponsors/Cap-go","https://opencollective.com/capgo"],"categories":[],"sub_categories":[],"readme":"# @capgo/capacitor-mux-player\n \u003ca href=\"https://capgo.app/\"\u003e\u003cimg src='https://raw.githubusercontent.com/Cap-go/capgo/main/assets/capgo_banner.png' alt='Capgo - Instant updates for capacitor'/\u003e\u003c/a\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ch2\u003e\u003ca href=\"https://capgo.app/?ref=plugin_mux_player\"\u003e ➡️ Get Instant updates for your App with Capgo\u003c/a\u003e\u003c/h2\u003e\n  \u003ch2\u003e\u003ca href=\"https://capgo.app/consulting/?ref=plugin_mux_player\"\u003e Missing a feature? We’ll build the plugin for you 💪\u003c/a\u003e\u003c/h2\u003e\n\u003c/div\u003e\nNaitve Mux Player SDK to play video on IOS and Android\n\n## Documentation\n\nThe most complete doc is available here: https://capgo.app/docs/plugins/mux-player/\n\n## Compatibility\n\n| Plugin version | Capacitor compatibility | Maintained |\n| -------------- | ----------------------- | ---------- |\n| v8.\\*.\\*       | v8.\\*.\\*                | ✅          |\n| v7.\\*.\\*       | v7.\\*.\\*                | On demand   |\n| v6.\\*.\\*       | v6.\\*.\\*                | ❌          |\n| v5.\\*.\\*       | v5.\\*.\\*                | ❌          |\n\n\u003e **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.\n\n## Install\n\n```bash\nnpm install @capgo/capacitor-mux-player\nnpx cap sync\n```\n\n### iOS setup\n\n- Requires iOS 15 or newer.\n- 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.\n- 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.\n\n### Android setup\n\n- 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.\n- 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.\n\n### Web setup\n\n- 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.\n\n## API\n\n\u003cdocgen-index\u003e\n\n* [`play(...)`](#play)\n* [`dismiss()`](#dismiss)\n* [`isActive()`](#isactive)\n* [`removeAllListeners()`](#removealllisteners)\n* [`addListener(E, ...)`](#addlistenere-)\n* [Interfaces](#interfaces)\n\n\u003c/docgen-index\u003e\n\n\u003cdocgen-api\u003e\n\u003c!--Update the source file JSDoc comments and rerun docgen to update the docs below--\u003e\n\n### play(...)\n\n```typescript\nplay(options: MuxPlayOptions) =\u003e Promise\u003cvoid\u003e\n```\n\nLaunch the native Mux Player in fullscreen and begin playback.\n\n| Param         | Type                                                      |\n| ------------- | --------------------------------------------------------- |\n| **`options`** | \u003ccode\u003e\u003ca href=\"#muxplayoptions\"\u003eMuxPlayOptions\u003c/a\u003e\u003c/code\u003e |\n\n--------------------\n\n\n### dismiss()\n\n```typescript\ndismiss() =\u003e Promise\u003cvoid\u003e\n```\n\nDismiss the player if it is visible.\n\n--------------------\n\n\n### isActive()\n\n```typescript\nisActive() =\u003e Promise\u003c{ active: boolean; }\u003e\n```\n\nReturns whether the player is currently being displayed.\n\n**Returns:** \u003ccode\u003ePromise\u0026lt;{ active: boolean; }\u0026gt;\u003c/code\u003e\n\n--------------------\n\n\n### removeAllListeners()\n\n```typescript\nremoveAllListeners() =\u003e Promise\u003cvoid\u003e\n```\n\nRemove all event listeners registered on the plugin instance.\n\n--------------------\n\n\n### addListener(E, ...)\n\n```typescript\naddListener\u003cE extends keyof MuxPlayerEvents\u003e(eventName: E, listenerFunc: (event: MuxPlayerEvents[E]) =\u003e void) =\u003e Promise\u003cPluginListenerHandle\u003e\n```\n\nListen to player lifecycle or playback events emitted by the plugin.\n\n| Param              | Type                                                |\n| ------------------ | --------------------------------------------------- |\n| **`eventName`**    | \u003ccode\u003eE\u003c/code\u003e                                      |\n| **`listenerFunc`** | \u003ccode\u003e(event: MuxPlayerEvents[E]) =\u0026gt; void\u003c/code\u003e |\n\n**Returns:** \u003ccode\u003ePromise\u0026lt;\u003ca href=\"#pluginlistenerhandle\"\u003ePluginListenerHandle\u003c/a\u003e\u0026gt;\u003c/code\u003e\n\n--------------------\n\n\n### Interfaces\n\n\n#### MuxPlayOptions\n\n| Prop                   | Type                 | Description                                                                          |\n| ---------------------- | -------------------- | ------------------------------------------------------------------------------------ |\n| **`playbackId`**       | \u003ccode\u003estring\u003c/code\u003e  | The playback ID of the asset you want to stream.                                     |\n| **`playbackToken`**    | \u003ccode\u003estring\u003c/code\u003e  | Provide a JSON web token generated for signed playback policies.                     |\n| **`drmToken`**         | \u003ccode\u003estring\u003c/code\u003e  | Provide a JSON web token generated for DRM playback policies.                        |\n| **`customDomain`**     | \u003ccode\u003estring\u003c/code\u003e  | Override the default Mux playback domain (e.g. `stream.example.com`).                |\n| **`autoPlay`**         | \u003ccode\u003eboolean\u003c/code\u003e | Auto-play when the player becomes visible. Defaults to true.                         |\n| **`startTime`**        | \u003ccode\u003enumber\u003c/code\u003e  | Start playback from the provided time (in seconds).                                  |\n| **`poster`**           | \u003ccode\u003estring\u003c/code\u003e  | Provide a poster image URL to display before playback begins.                        |\n| **`title`**            | \u003ccode\u003estring\u003c/code\u003e  | Provide a custom title to surface in native player chrome when available.            |\n| **`subtitle`**         | \u003ccode\u003estring\u003c/code\u003e  | Provide a subtitle or description to surface in native player chrome when available. |\n| **`muted`**            | \u003ccode\u003eboolean\u003c/code\u003e | Set to true to keep the video muted when playback starts.                            |\n| **`environmentKey`**   | \u003ccode\u003estring\u003c/code\u003e  | Mux Data environment key used for analytics. If omitted, the SDK default is used.    |\n| **`playerName`**       | \u003ccode\u003estring\u003c/code\u003e  | Provide an explicit player name for analytics. Defaults to a generated name.         |\n| **`enableSmartCache`** | \u003ccode\u003eboolean\u003c/code\u003e | Enable smart caching when the underlying SDK supports it.                            |\n| **`debug`**            | \u003ccode\u003eboolean\u003c/code\u003e | Enable verbose logging in native SDKs where available.                               |\n\n\n#### PluginListenerHandle\n\n| Prop         | Type                                      |\n| ------------ | ----------------------------------------- |\n| **`remove`** | \u003ccode\u003e() =\u0026gt; Promise\u0026lt;void\u0026gt;\u003c/code\u003e |\n\n\n#### MuxPlayerEvents\n\n| Prop                  | Type                                  | Description                                                  |\n| --------------------- | ------------------------------------- | ------------------------------------------------------------ |\n| **`ready`**           | \u003ccode\u003e{ playerName?: string; }\u003c/code\u003e | Fired when the underlying player is ready to begin playback. |\n| **`play`**            | \u003ccode\u003evoid\u003c/code\u003e                     | Fired when playback starts or resumes.                       |\n| **`pause`**           | \u003ccode\u003evoid\u003c/code\u003e                     | Fired when playback pauses.                                  |\n| **`ended`**           | \u003ccode\u003evoid\u003c/code\u003e                     | Fired when playback ends.                                    |\n| **`error`**           | \u003ccode\u003e{ message: string; }\u003c/code\u003e     | Fired when an unrecoverable error occurs.                    |\n| **`playerDismissed`** | \u003ccode\u003evoid\u003c/code\u003e                     | Fired when the fullscreen player is closed.                  |\n\n| Method               | Signature                                    | Description                             |\n| -------------------- | -------------------------------------------- | --------------------------------------- |\n| **getPluginVersion** | () =\u0026gt; Promise\u0026lt;{ version: string; }\u0026gt; | Get the native Capacitor plugin version |\n\n\u003c/docgen-api\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcap-go%2Fcapacitor-mux-player","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcap-go%2Fcapacitor-mux-player","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcap-go%2Fcapacitor-mux-player/lists"}