# player-iframe-api-loader


O pacote `@kinescope/player-iframe-api-loader` carrega a IFrame Player API sem o callback `onKinescopeIframeAPIReady` e fornece tipos TypeScript. Repositório: [kinescope/player-iframe-api-loader](https://github.com/kinescope/player-iframe-api-loader).

## Instalação

```bash
npm install @kinescope/player-iframe-api-loader --save
```

## Carregar a API

```js
import * as iframeApiLoader from '@kinescope/player-iframe-api-loader'

const factory = await iframeApiLoader.load()
const player = await factory.create('player', {
  url: 'https://kinescope.io/VIDEO_ID',
})
```

`load()` carrega o script da API e retorna a factory. Depois, use-a como a [IFrame API](https://docs-br.kinescope.com/player-docs/embedding/iframe-api/) padrão: chame [`create()`](https://docs-br.kinescope.com/player-docs/embedding/iframe-api-create-player/#create) e [controle o player](https://docs-br.kinescope.com/player-docs/embedding/iframe-api-control-player/).

### Versão do script

Por padrão, o loader usa `latest`. Você pode indicar uma versão ou fornecer sua própria URL:

```js
// latest (padrão)
await iframeApiLoader.load()

// Versão específica: 'v2.123.0' ou '2.123.0'
await iframeApiLoader.load('v2.123.0')

// URL personalizada do script
await iframeApiLoader.load(new URL('https://player.kinescope.io/latest/iframe.player.js'))
```

> **Внимание:**

Uma página pode usar somente uma versão da IFrame API. Se outra versão já estiver carregada, `load()` retornará um erro.



## Importar somente os tipos

Se você carregar o script da API por conta própria, poderá importar apenas os tipos:

```ts
import '@kinescope/player-iframe-api-loader/types'

let player: Kinescope.IframePlayer.Player | undefined

const factory = window.Kinescope?.IframePlayer
if (factory) {
  player = await factory.create('player', {
    url: 'https://kinescope.io/VIDEO_ID',
  })
}
```

## Próximos passos

- [Criar um player](https://docs-br.kinescope.com/player-docs/embedding/iframe-api-create-player/)
- [Controlar o player](https://docs-br.kinescope.com/player-docs/embedding/iframe-api-control-player/)
- [Visão geral das bibliotecas do player](https://docs-br.kinescope.com/player-docs/libraries/)

