{"id":42106396,"url":"https://github.com/cap-go/capacitor-ivs-player","last_synced_at":"2026-06-04T16:00:24.897Z","repository":{"id":178757288,"uuid":"647532345","full_name":"Cap-go/capacitor-ivs-player","owner":"Cap-go","description":"Capacitor plugin Native Ivs player Android and IOS.","archived":false,"fork":false,"pushed_at":"2026-06-02T00:02:48.000Z","size":1199,"stargazers_count":9,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-06-02T02:07:42.887Z","etag":null,"topics":["capacitor","capacitor-plugin"],"latest_commit_sha":null,"homepage":"https://capgo.app/docs/plugins/ivs-player/","language":"Java","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":"AGENTS.md","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":"2023-05-31T01:45:50.000Z","updated_at":"2026-05-29T15:50:25.000Z","dependencies_parsed_at":"2026-02-19T05:01:47.246Z","dependency_job_id":null,"html_url":"https://github.com/Cap-go/capacitor-ivs-player","commit_stats":{"total_commits":238,"total_committers":5,"mean_commits":47.6,"dds":"0.33193277310924374","last_synced_commit":"b202af7a135b070c887e6623a6e8a9bc48bfc803"},"previous_names":["cap-go/ivs-player","cap-go/capacitor-ivs-player"],"tags_count":89,"template":false,"template_full_name":null,"purl":"pkg:github/Cap-go/capacitor-ivs-player","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cap-go%2Fcapacitor-ivs-player","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cap-go%2Fcapacitor-ivs-player/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cap-go%2Fcapacitor-ivs-player/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cap-go%2Fcapacitor-ivs-player/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Cap-go","download_url":"https://codeload.github.com/Cap-go/capacitor-ivs-player/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cap-go%2Fcapacitor-ivs-player/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33912326,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-04T02:00:06.755Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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","capacitor-plugin"],"created_at":"2026-01-26T13:17:37.587Z","updated_at":"2026-06-04T16:00:24.871Z","avatar_url":"https://github.com/Cap-go.png","language":"Java","funding_links":["https://github.com/sponsors/Cap-go","https://opencollective.com/capgo"],"categories":[],"sub_categories":[],"readme":"# @capgo/capacitor-ivs-player\n\u003ca href=\"https://capgo.app/\"\u003e\u003cimg src=\"https://capgo.app/readme-banner.svg?repo=Cap-go/capacitor-ivs-player\" 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_ivs_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_ivs_player\"\u003e Missing a feature? We’ll build the plugin for you 💪\u003c/a\u003e\u003c/h2\u003e\n\u003c/div\u003e\n\n[Ivs player](https://docs.aws.amazon.com/ivs/latest/userguide/player.html) for Capacitor app Android and IOS.\n\n## Documentation\n\nThe most complete doc is available here: https://capgo.app/docs/plugins/ivs-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-ivs-player\nnpx cap sync\n```\n\n\n## API\n\n\u003cdocgen-index\u003e\n\n* [`create(...)`](#create)\n* [`start()`](#start)\n* [`cast()`](#cast)\n* [`getCastStatus()`](#getcaststatus)\n* [`pause()`](#pause)\n* [`delete()`](#delete)\n* [`getUrl()`](#geturl)\n* [`getState()`](#getstate)\n* [`setPlayerPosition(...)`](#setplayerposition)\n* [`getPlayerPosition()`](#getplayerposition)\n* [`setAutoQuality(...)`](#setautoquality)\n* [`getAutoQuality()`](#getautoquality)\n* [`setPip(...)`](#setpip)\n* [`getPip()`](#getpip)\n* [`setFrame(...)`](#setframe)\n* [`getFrame()`](#getframe)\n* [`setBackgroundState(...)`](#setbackgroundstate)\n* [`getBackgroundState()`](#getbackgroundstate)\n* [`setMute(...)`](#setmute)\n* [`getMute()`](#getmute)\n* [`setQuality(...)`](#setquality)\n* [`getQuality()`](#getquality)\n* [`getQualities()`](#getqualities)\n* [`getPluginVersion()`](#getpluginversion)\n* [`addListener('startPip', ...)`](#addlistenerstartpip-)\n* [`addListener('stopPip', ...)`](#addlistenerstoppip-)\n* [`addListener('expandPip', ...)`](#addlistenerexpandpip-)\n* [`addListener('closePip', ...)`](#addlistenerclosepip-)\n* [`addListener('onState', ...)`](#addlisteneronstate-)\n* [`addListener('onCues', ...)`](#addlisteneroncues-)\n* [`addListener('onDuration', ...)`](#addlisteneronduration-)\n* [`addListener('onError', ...)`](#addlisteneronerror-)\n* [`addListener('onRebuffering', ...)`](#addlisteneronrebuffering-)\n* [`addListener('onSeekCompleted', ...)`](#addlisteneronseekcompleted-)\n* [`addListener('onVideoSize', ...)`](#addlisteneronvideosize-)\n* [`addListener('onQuality', ...)`](#addlisteneronquality-)\n* [`addListener('onCastStatus', ...)`](#addlisteneroncaststatus-)\n* [`removeAllListeners()`](#removealllisteners)\n* [Interfaces](#interfaces)\n* [Type Aliases](#type-aliases)\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### create(...)\n\n```typescript\ncreate(options: { url: string; pip?: boolean; title?: string; subtitle?: string; cover?: string; autoPlay?: boolean; toBack?: boolean; x?: number; y?: number; width?: number; height?: number; }) =\u003e Promise\u003cvoid\u003e\n```\n\n| Param         | Type                                                                                                                                                                                           |\n| ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| **`options`** | \u003ccode\u003e{ url: string; pip?: boolean; title?: string; subtitle?: string; cover?: string; autoPlay?: boolean; toBack?: boolean; x?: number; y?: number; width?: number; height?: number; }\u003c/code\u003e |\n\n--------------------\n\n\n### start()\n\n```typescript\nstart() =\u003e Promise\u003cvoid\u003e\n```\n\n--------------------\n\n\n### cast()\n\n```typescript\ncast() =\u003e Promise\u003cvoid\u003e\n```\n\n--------------------\n\n\n### getCastStatus()\n\n```typescript\ngetCastStatus() =\u003e Promise\u003c{ isActive: boolean; }\u003e\n```\n\n**Returns:** \u003ccode\u003ePromise\u0026lt;{ isActive: boolean; }\u0026gt;\u003c/code\u003e\n\n--------------------\n\n\n### pause()\n\n```typescript\npause() =\u003e Promise\u003cvoid\u003e\n```\n\n--------------------\n\n\n### delete()\n\n```typescript\ndelete() =\u003e Promise\u003cvoid\u003e\n```\n\n--------------------\n\n\n### getUrl()\n\n```typescript\ngetUrl() =\u003e Promise\u003c{ url: string; }\u003e\n```\n\n**Returns:** \u003ccode\u003ePromise\u0026lt;{ url: string; }\u0026gt;\u003c/code\u003e\n\n--------------------\n\n\n### getState()\n\n```typescript\ngetState() =\u003e Promise\u003c{ state: CapacitorIvsPlayerState; }\u003e\n```\n\n**Returns:** \u003ccode\u003ePromise\u0026lt;{ state: \u003ca href=\"#capacitorivsplayerstate\"\u003eCapacitorIvsPlayerState\u003c/a\u003e; }\u0026gt;\u003c/code\u003e\n\n--------------------\n\n\n### setPlayerPosition(...)\n\n```typescript\nsetPlayerPosition(options?: { toBack: boolean; } | undefined) =\u003e Promise\u003cvoid\u003e\n```\n\n| Param         | Type                              |\n| ------------- | --------------------------------- |\n| **`options`** | \u003ccode\u003e{ toBack: boolean; }\u003c/code\u003e |\n\n--------------------\n\n\n### getPlayerPosition()\n\n```typescript\ngetPlayerPosition() =\u003e Promise\u003c{ toBack: boolean; }\u003e\n```\n\n**Returns:** \u003ccode\u003ePromise\u0026lt;{ toBack: boolean; }\u0026gt;\u003c/code\u003e\n\n--------------------\n\n\n### setAutoQuality(...)\n\n```typescript\nsetAutoQuality(options?: { autoQuality?: boolean | undefined; } | undefined) =\u003e Promise\u003cvoid\u003e\n```\n\n| Param         | Type                                    |\n| ------------- | --------------------------------------- |\n| **`options`** | \u003ccode\u003e{ autoQuality?: boolean; }\u003c/code\u003e |\n\n--------------------\n\n\n### getAutoQuality()\n\n```typescript\ngetAutoQuality() =\u003e Promise\u003c{ autoQuality: boolean; }\u003e\n```\n\n**Returns:** \u003ccode\u003ePromise\u0026lt;{ autoQuality: boolean; }\u0026gt;\u003c/code\u003e\n\n--------------------\n\n\n### setPip(...)\n\n```typescript\nsetPip(options?: { pip?: boolean | undefined; } | undefined) =\u003e Promise\u003cvoid\u003e\n```\n\n| Param         | Type                            |\n| ------------- | ------------------------------- |\n| **`options`** | \u003ccode\u003e{ pip?: boolean; }\u003c/code\u003e |\n\n--------------------\n\n\n### getPip()\n\n```typescript\ngetPip() =\u003e Promise\u003c{ pip: boolean; }\u003e\n```\n\n**Returns:** \u003ccode\u003ePromise\u0026lt;{ pip: boolean; }\u0026gt;\u003c/code\u003e\n\n--------------------\n\n\n### setFrame(...)\n\n```typescript\nsetFrame(options?: { x?: number | undefined; y?: number | undefined; width?: number | undefined; height?: number | undefined; } | undefined) =\u003e Promise\u003cvoid\u003e\n```\n\nSet the frame of the player view, all number have to be positive and integers\n\n| Param         | Type                                                                      | Description                                         |\n| ------------- | ------------------------------------------------------------------------- | --------------------------------------------------- |\n| **`options`** | \u003ccode\u003e{ x?: number; y?: number; width?: number; height?: number; }\u003c/code\u003e | : number, y: number, width: number, height: number} |\n\n**Since:** 1.0.0\n\n--------------------\n\n\n### getFrame()\n\n```typescript\ngetFrame() =\u003e Promise\u003cCapacitorFrame\u003e\n```\n\n**Returns:** \u003ccode\u003ePromise\u0026lt;\u003ca href=\"#capacitorframe\"\u003eCapacitorFrame\u003c/a\u003e\u0026gt;\u003c/code\u003e\n\n--------------------\n\n\n### setBackgroundState(...)\n\n```typescript\nsetBackgroundState(options: { backgroundState: CapacitorIvsPlayerBackgroundState; }) =\u003e Promise\u003cvoid\u003e\n```\n\n| Param         | Type                                                                                                                  |\n| ------------- | --------------------------------------------------------------------------------------------------------------------- |\n| **`options`** | \u003ccode\u003e{ backgroundState: \u003ca href=\"#capacitorivsplayerbackgroundstate\"\u003eCapacitorIvsPlayerBackgroundState\u003c/a\u003e; }\u003c/code\u003e |\n\n--------------------\n\n\n### getBackgroundState()\n\n```typescript\ngetBackgroundState() =\u003e Promise\u003c{ backgroundState: CapacitorIvsPlayerBackgroundState; }\u003e\n```\n\n**Returns:** \u003ccode\u003ePromise\u0026lt;{ backgroundState: \u003ca href=\"#capacitorivsplayerbackgroundstate\"\u003eCapacitorIvsPlayerBackgroundState\u003c/a\u003e; }\u0026gt;\u003c/code\u003e\n\n--------------------\n\n\n### setMute(...)\n\n```typescript\nsetMute(options?: { muted?: boolean | undefined; } | undefined) =\u003e Promise\u003cvoid\u003e\n```\n\n| Param         | Type                              |\n| ------------- | --------------------------------- |\n| **`options`** | \u003ccode\u003e{ muted?: boolean; }\u003c/code\u003e |\n\n--------------------\n\n\n### getMute()\n\n```typescript\ngetMute() =\u003e Promise\u003c{ mute: boolean; }\u003e\n```\n\n**Returns:** \u003ccode\u003ePromise\u0026lt;{ mute: boolean; }\u0026gt;\u003c/code\u003e\n\n--------------------\n\n\n### setQuality(...)\n\n```typescript\nsetQuality(options?: { quality: string; } | undefined) =\u003e Promise\u003cvoid\u003e\n```\n\n| Param         | Type                              |\n| ------------- | --------------------------------- |\n| **`options`** | \u003ccode\u003e{ quality: string; }\u003c/code\u003e |\n\n--------------------\n\n\n### getQuality()\n\n```typescript\ngetQuality() =\u003e Promise\u003c{ quality: string; }\u003e\n```\n\n**Returns:** \u003ccode\u003ePromise\u0026lt;{ quality: string; }\u0026gt;\u003c/code\u003e\n\n--------------------\n\n\n### getQualities()\n\n```typescript\ngetQualities() =\u003e Promise\u003c{ qualities: string[]; }\u003e\n```\n\n**Returns:** \u003ccode\u003ePromise\u0026lt;{ qualities: string[]; }\u0026gt;\u003c/code\u003e\n\n--------------------\n\n\n### getPluginVersion()\n\n```typescript\ngetPluginVersion() =\u003e Promise\u003c{ version: string; }\u003e\n```\n\nGet the native Capacitor plugin version\n\n**Returns:** \u003ccode\u003ePromise\u0026lt;{ version: string; }\u0026gt;\u003c/code\u003e\n\n--------------------\n\n\n### addListener('startPip', ...)\n\n```typescript\naddListener(eventName: 'startPip', listenerFunc: () =\u003e void) =\u003e Promise\u003cPluginListenerHandle\u003e\n```\n\nListen for start pip\n\n| Param              | Type                       |\n| ------------------ | -------------------------- |\n| **`eventName`**    | \u003ccode\u003e'startPip'\u003c/code\u003e    |\n| **`listenerFunc`** | \u003ccode\u003e() =\u0026gt; void\u003c/code\u003e |\n\n**Returns:** \u003ccode\u003ePromise\u0026lt;\u003ca href=\"#pluginlistenerhandle\"\u003ePluginListenerHandle\u003c/a\u003e\u0026gt;\u003c/code\u003e\n\n**Since:** 1.0.0\n\n--------------------\n\n\n### addListener('stopPip', ...)\n\n```typescript\naddListener(eventName: 'stopPip', listenerFunc: () =\u003e void) =\u003e Promise\u003cPluginListenerHandle\u003e\n```\n\nListen for stop pip\n\n| Param              | Type                       |\n| ------------------ | -------------------------- |\n| **`eventName`**    | \u003ccode\u003e'stopPip'\u003c/code\u003e     |\n| **`listenerFunc`** | \u003ccode\u003e() =\u0026gt; void\u003c/code\u003e |\n\n**Returns:** \u003ccode\u003ePromise\u0026lt;\u003ca href=\"#pluginlistenerhandle\"\u003ePluginListenerHandle\u003c/a\u003e\u0026gt;\u003c/code\u003e\n\n**Since:** 1.0.0\n\n--------------------\n\n\n### addListener('expandPip', ...)\n\n```typescript\naddListener(eventName: 'expandPip', listenerFunc: () =\u003e void) =\u003e Promise\u003cPluginListenerHandle\u003e\n```\n\nListen for expend pip\n\n| Param              | Type                       |\n| ------------------ | -------------------------- |\n| **`eventName`**    | \u003ccode\u003e'expandPip'\u003c/code\u003e   |\n| **`listenerFunc`** | \u003ccode\u003e() =\u0026gt; void\u003c/code\u003e |\n\n**Returns:** \u003ccode\u003ePromise\u0026lt;\u003ca href=\"#pluginlistenerhandle\"\u003ePluginListenerHandle\u003c/a\u003e\u0026gt;\u003c/code\u003e\n\n**Since:** 1.0.0\n\n--------------------\n\n\n### addListener('closePip', ...)\n\n```typescript\naddListener(eventName: 'closePip', listenerFunc: () =\u003e void) =\u003e Promise\u003cPluginListenerHandle\u003e\n```\n\nListen for close pip\n\n| Param              | Type                       |\n| ------------------ | -------------------------- |\n| **`eventName`**    | \u003ccode\u003e'closePip'\u003c/code\u003e    |\n| **`listenerFunc`** | \u003ccode\u003e() =\u0026gt; void\u003c/code\u003e |\n\n**Returns:** \u003ccode\u003ePromise\u0026lt;\u003ca href=\"#pluginlistenerhandle\"\u003ePluginListenerHandle\u003c/a\u003e\u0026gt;\u003c/code\u003e\n\n**Since:** 1.0.0\n\n--------------------\n\n\n### addListener('onState', ...)\n\n```typescript\naddListener(eventName: 'onState', listenerFunc: (data: { state: CapacitorIvsPlayerState; }) =\u003e void) =\u003e Promise\u003cPluginListenerHandle\u003e\n```\n\nListen for state changes\n\n| Param              | Type                                                                                                       |\n| ------------------ | ---------------------------------------------------------------------------------------------------------- |\n| **`eventName`**    | \u003ccode\u003e'onState'\u003c/code\u003e                                                                                     |\n| **`listenerFunc`** | \u003ccode\u003e(data: { state: \u003ca href=\"#capacitorivsplayerstate\"\u003eCapacitorIvsPlayerState\u003c/a\u003e; }) =\u0026gt; void\u003c/code\u003e |\n\n**Returns:** \u003ccode\u003ePromise\u0026lt;\u003ca href=\"#pluginlistenerhandle\"\u003ePluginListenerHandle\u003c/a\u003e\u0026gt;\u003c/code\u003e\n\n**Since:** 1.0.0\n\n--------------------\n\n\n### addListener('onCues', ...)\n\n```typescript\naddListener(eventName: 'onCues', listenerFunc: (data: { cues: string; }) =\u003e void) =\u003e Promise\u003cPluginListenerHandle\u003e\n```\n\nListen for cue changes\n\n| Param              | Type                                              |\n| ------------------ | ------------------------------------------------- |\n| **`eventName`**    | \u003ccode\u003e'onCues'\u003c/code\u003e                             |\n| **`listenerFunc`** | \u003ccode\u003e(data: { cues: string; }) =\u0026gt; void\u003c/code\u003e |\n\n**Returns:** \u003ccode\u003ePromise\u0026lt;\u003ca href=\"#pluginlistenerhandle\"\u003ePluginListenerHandle\u003c/a\u003e\u0026gt;\u003c/code\u003e\n\n**Since:** 1.0.0\n\n--------------------\n\n\n### addListener('onDuration', ...)\n\n```typescript\naddListener(eventName: 'onDuration', listenerFunc: (data: { duration: number; }) =\u003e void) =\u003e Promise\u003cPluginListenerHandle\u003e\n```\n\nListen for duration changes\n\n| Param              | Type                                                  |\n| ------------------ | ----------------------------------------------------- |\n| **`eventName`**    | \u003ccode\u003e'onDuration'\u003c/code\u003e                             |\n| **`listenerFunc`** | \u003ccode\u003e(data: { duration: number; }) =\u0026gt; void\u003c/code\u003e |\n\n**Returns:** \u003ccode\u003ePromise\u0026lt;\u003ca href=\"#pluginlistenerhandle\"\u003ePluginListenerHandle\u003c/a\u003e\u0026gt;\u003c/code\u003e\n\n**Since:** 1.0.0\n\n--------------------\n\n\n### addListener('onError', ...)\n\n```typescript\naddListener(eventName: 'onError', listenerFunc: (data: { error: string; }) =\u003e void) =\u003e Promise\u003cPluginListenerHandle\u003e\n```\n\nListen for errors\n\n| Param              | Type                                               |\n| ------------------ | -------------------------------------------------- |\n| **`eventName`**    | \u003ccode\u003e'onError'\u003c/code\u003e                             |\n| **`listenerFunc`** | \u003ccode\u003e(data: { error: string; }) =\u0026gt; void\u003c/code\u003e |\n\n**Returns:** \u003ccode\u003ePromise\u0026lt;\u003ca href=\"#pluginlistenerhandle\"\u003ePluginListenerHandle\u003c/a\u003e\u0026gt;\u003c/code\u003e\n\n**Since:** 1.0.0\n\n--------------------\n\n\n### addListener('onRebuffering', ...)\n\n```typescript\naddListener(eventName: 'onRebuffering', listenerFunc: () =\u003e void) =\u003e Promise\u003cPluginListenerHandle\u003e\n```\n\nListen for rebuffering\n\n| Param              | Type                         |\n| ------------------ | ---------------------------- |\n| **`eventName`**    | \u003ccode\u003e'onRebuffering'\u003c/code\u003e |\n| **`listenerFunc`** | \u003ccode\u003e() =\u0026gt; void\u003c/code\u003e   |\n\n**Returns:** \u003ccode\u003ePromise\u0026lt;\u003ca href=\"#pluginlistenerhandle\"\u003ePluginListenerHandle\u003c/a\u003e\u0026gt;\u003c/code\u003e\n\n**Since:** 1.0.0\n\n--------------------\n\n\n### addListener('onSeekCompleted', ...)\n\n```typescript\naddListener(eventName: 'onSeekCompleted', listenerFunc: (data: { position: number; }) =\u003e void) =\u003e Promise\u003cPluginListenerHandle\u003e\n```\n\nListen for position changes\n\n| Param              | Type                                                  |\n| ------------------ | ----------------------------------------------------- |\n| **`eventName`**    | \u003ccode\u003e'onSeekCompleted'\u003c/code\u003e                        |\n| **`listenerFunc`** | \u003ccode\u003e(data: { position: number; }) =\u0026gt; void\u003c/code\u003e |\n\n**Returns:** \u003ccode\u003ePromise\u0026lt;\u003ca href=\"#pluginlistenerhandle\"\u003ePluginListenerHandle\u003c/a\u003e\u0026gt;\u003c/code\u003e\n\n**Since:** 1.0.0\n\n--------------------\n\n\n### addListener('onVideoSize', ...)\n\n```typescript\naddListener(eventName: 'onVideoSize', listenerFunc: (data: { width: number; height: number; }) =\u003e void) =\u003e Promise\u003cPluginListenerHandle\u003e\n```\n\nListen for video size changes\n\n| Param              | Type                                                               |\n| ------------------ | ------------------------------------------------------------------ |\n| **`eventName`**    | \u003ccode\u003e'onVideoSize'\u003c/code\u003e                                         |\n| **`listenerFunc`** | \u003ccode\u003e(data: { width: number; height: number; }) =\u0026gt; void\u003c/code\u003e |\n\n**Returns:** \u003ccode\u003ePromise\u0026lt;\u003ca href=\"#pluginlistenerhandle\"\u003ePluginListenerHandle\u003c/a\u003e\u0026gt;\u003c/code\u003e\n\n**Since:** 1.0.0\n\n--------------------\n\n\n### addListener('onQuality', ...)\n\n```typescript\naddListener(eventName: 'onQuality', listenerFunc: (data: { quality: string; }) =\u003e void) =\u003e Promise\u003cPluginListenerHandle\u003e\n```\n\nListen for quality changes\n\n| Param              | Type                                                 |\n| ------------------ | ---------------------------------------------------- |\n| **`eventName`**    | \u003ccode\u003e'onQuality'\u003c/code\u003e                             |\n| **`listenerFunc`** | \u003ccode\u003e(data: { quality: string; }) =\u0026gt; void\u003c/code\u003e |\n\n**Returns:** \u003ccode\u003ePromise\u0026lt;\u003ca href=\"#pluginlistenerhandle\"\u003ePluginListenerHandle\u003c/a\u003e\u0026gt;\u003c/code\u003e\n\n**Since:** 1.0.0\n\n--------------------\n\n\n### addListener('onCastStatus', ...)\n\n```typescript\naddListener(eventName: 'onCastStatus', listenerFunc: (data: { isActive: boolean; }) =\u003e void) =\u003e Promise\u003cPluginListenerHandle\u003e\n```\n\nListen for cast status changes\n\n| Param              | Type                                                   |\n| ------------------ | ------------------------------------------------------ |\n| **`eventName`**    | \u003ccode\u003e'onCastStatus'\u003c/code\u003e                            |\n| **`listenerFunc`** | \u003ccode\u003e(data: { isActive: boolean; }) =\u0026gt; void\u003c/code\u003e |\n\n**Returns:** \u003ccode\u003ePromise\u0026lt;\u003ca href=\"#pluginlistenerhandle\"\u003ePluginListenerHandle\u003c/a\u003e\u0026gt;\u003c/code\u003e\n\n**Since:** 1.0.0\n\n--------------------\n\n\n### removeAllListeners()\n\n```typescript\nremoveAllListeners() =\u003e Promise\u003cvoid\u003e\n```\n\nRemove all listeners for this plugin.\n\n**Since:** 1.0.0\n\n--------------------\n\n\n### Interfaces\n\n\n#### CapacitorFrame\n\n| Prop         | Type                |\n| ------------ | ------------------- |\n| **`x`**      | \u003ccode\u003enumber\u003c/code\u003e |\n| **`y`**      | \u003ccode\u003enumber\u003c/code\u003e |\n| **`width`**  | \u003ccode\u003enumber\u003c/code\u003e |\n| **`height`** | \u003ccode\u003enumber\u003c/code\u003e |\n\n\n#### PluginListenerHandle\n\n| Prop         | Type                                      |\n| ------------ | ----------------------------------------- |\n| **`remove`** | \u003ccode\u003e() =\u0026gt; Promise\u0026lt;void\u0026gt;\u003c/code\u003e |\n\n\n### Type Aliases\n\n\n#### CapacitorIvsPlayerState\n\n\u003ccode\u003e'IDLE' | 'BUFFERING' | 'READY' | 'PLAYING' | 'ENDED' | 'UNKNOWN'\u003c/code\u003e\n\n\n#### CapacitorIvsPlayerBackgroundState\n\n\u003ccode\u003e'PAUSED' | 'PLAYING'\u003c/code\u003e\n\n\u003c/docgen-api\u003e\n\n\n# Credits\n\nThis plugin was created originally for [Kick.com](https://kick.com) by [Capgo](https://capgo.app)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcap-go%2Fcapacitor-ivs-player","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcap-go%2Fcapacitor-ivs-player","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcap-go%2Fcapacitor-ivs-player/lists"}