

# Kit SDK du lecteur IVS : intégration à JW Player
<a name="player-jwplayer"></a>

Ce document décrit les fonctions les plus importantes disponibles dans l’intégration JW Player d’Amazon Interactive Video Service (IVS).

**Dernière version de l’intégration JW Player :** 1.51.0 ([Notes de mise à jour](https://docs.aws.amazon.com/ivs/latest/LowLatencyUserGuide/release-notes.html#apr16-26-player-web-ll))

## Démarrage
<a name="jwplayer-getting-started"></a>

La prise en charge Amazon IVS pour JW Player est implémentée par l’intermédiaire d’un fournisseur. Le fournisseur Amazon IVS est pris en charge uniquement sur le lecteur Web de JW Player. Le fournisseur est chargé via une balise de script, et tous les flux nécessitant la lecture du fournisseur Amazon IVS doivent être marqués par la mention `type: 'ivs'` dans la liste de lecture. Amazon IVS prend en charge les versions 8.18.4 et ultérieures de JW Player.

### Configuration
<a name="jwplayer-getting-started-setup"></a>

Dans ces instructions, `JW_PLAYER_DIV` est le nom du `<div>` de votre instance JW Player et `IVS_STREAM` est votre URL de lecture IVS. Pour configurer le fournisseur Amazon IVS et activer la lecture :

1. Incluez la balise `script` suivante (pour la dernière version de l’intégration du lecteur ; dans ce cas, 1.51.0) :

   ```
   <script src="https://player.live-video.net/1.51.0/amazon-ivs-jw-provider.min.js"></script>
   ```

1. Utilisez le type `ivs` pour marquer vos éléments de liste de lecture IVS. Définissez la valeur `cast` dans votre `setup()` sur `null` (puisque Chromecast n’est pas pris en charge).

   ```
   jwplayer(JW_PLAYER_DIV).setup({
      playlist: [{
         file:IVS_STREAM,
         type: 'ivs',
      }]
   });
   ```

1. Si vous souhaitez qu’une référence au lecteur Amazon IVS sous-jacent effectue des appels d’API au lecteur Amazon IVS ou si vous souhaitez des références à des énumérations spécifiques à Amazon IVS pour la gestion des rappels, ajoutez un écouteur à l’événement `'providerPlayer'` :

   ```
   jwplayer(JW_PLAYER_DIV).on('providerPlayer', function (player) {
      // player object has 'ivsPlayer' and 'ivsEvents' properties
      // ...callback code...
   });
   ```

### Exemple de code
<a name="jwplayer-getting-started-code"></a>

Dans cet exemple, `JW_PLAYER_LIB` est l’URL de votre script de bibliothèque JW Player et `IVS_STREAM` est votre URL de lecture IVS.

```
<!DOCTYPE html>
<html lang="en">
<head>
   <script src=JW_PLAYER_LIB></script>
   <script src="https://player.live-video.net/1.51.0/amazon-ivs-jw-provider.min.js"></script>
</head>
<body>
   <div id='player'></div>
   <script>
      // set default values for ivsPlayer and ivsEvents
      var ivsPlayer = {};
      var ivsEvents = {};

      // define our player setup
      const ivsConfig = {
         playlist: [{
            file: IVS_STREAM,
            type: 'ivs',
         }]
      };

      jwplayer('player')
         .setup(ivsConfig)
         .on('providerPlayer', function (player) {
            console.log('Amazon IVS Player: ', player.ivsPlayer);
            console.log('Amazon IVS Player Events: ', player.ivsEvents);

            // store the reference to the Amazon IVS Player
            ivsPlayer = player.ivsPlayer;
            // store the reference to the Amazon IVS Player Events
            ivsEvents = player.ivsEvents;
         });
   </script>
</body>
</html>
```

## Événements
<a name="jwplayer-events"></a>

Pour écouter les événements JW Player standard, utilisez la fonction [on](https://docs.jwplayer.com/players/docs/jw8-reference#event-listening-with-the-jwp-api) de JW Player.

Pour écouter des événements spécifiques à Amazon IVS, ou pour ajouter et supprimer des écouteurs d’événements sur le lecteur Web Amazon IVS, vous devez écouter l’événement `'providerPlayer'` pour obtenir une référence au lecteur Amazon IVS, puis y ajouter l’écoute d’événement. Par exemple :

```
// store a default value for ivsPlayer
var ivsPlayer = {};

// store references to the Amazon IVS Player and Amazon IVS Events:
jwplayer(JW_PLAYER_DIV).on('providerPlayer', function (player) {
   ivsPlayer = player.ivsPlayer;
});

// set up event listening
ivsPlayer.addEventListener(event, callback);
ivsPlayer.removeEventListener(event, callback);
```

où `callback` est un rappel que vous définissez, et `event` est l’un des éléments suivants : `PlayerEventType`, `PlayerState` ou `ErrorType`. Pour de plus amples informations sur les événements, consultez [Kit SDK du lecteur Amazon IVS : référence pour le Web](https://aws.github.io/amazon-ivs-player-docs/1.51.0/web/).

L’événement `'providerPlayer'` est émis par JW Player, et le rappel que vous enregistrez avec lui recevra un objet avec les champs suivants :


| Champ | Description | 
| --- | --- | 
|  `ivsPlayer`  |  Renvoie l’instance du lecteur Amazon IVS sous-jacente. L’API Web complète du lecteur Amazon IVS est disponible via cette instance. Nous vous recommandons d’utiliser autant que possible l’API de lecture JW Player de base et d’utiliser cette fonction uniquement pour accéder aux fonctions spécifiques d’Amazon IVS. Les fonctions les plus courantes auxquelles vous aurez probablement besoin d’accéder sur l’instance de lecteur Amazon IVS sont `addEventListener()` et `removeEventListener()`.  | 
|  `ivsEvents`  |  Renvoie un objet avec les champs `PlayerEventType`, `PlayerState` et `ErrorType`, qui correspondent aux énumérations spécifiques à Amazon IVS qui leur sont associées. Pour de plus amples informations, consultez [Kit SDK du lecteur Amazon IVS : référence pour le Web](https://aws.github.io/amazon-ivs-player-docs/1.51.0/web/).  | 

## Erreurs
<a name="jwplayer-errors"></a>

Pour les erreurs générales rencontrées avec JW Player, utilisez la fonction [on](https://docs.jwplayer.com/players/docs/jw8-reference#event-listening-with-the-jwp-api) de JW Player pour écouter les événements d’erreur.

Pour les erreurs spécifiques à Amazon IVS, écoutez le lecteur Amazon IVS :

```
// set default values for ivsPlayer and ivsEvents
var ivsPlayer = {};
var ivsEvents = {};

// store references to the Amazon IVS Player and Amazon IVS Events
jwplayer(JW_PLAYER_DIV).on('providerPlayer', function (player) {
   ivsPlayer = player.ivsPlayer;
   ivsEvents = player.ivsEvents;
});

// set up event listening:
let playerEvent = ivsEvents.PlayerEventType;
ivsPlayer.addEventListener(playerEvent.ERROR, callback);
```

Le rappel recevra un objet avec les champs suivants :


| Champ | Description | 
| --- | --- | 
|  `type`  |  Type d’erreur. Correspond à des événements `ErrorType`. Pour de plus amples informations, consultez [Kit SDK du lecteur Amazon IVS : référence pour le Web](https://aws.github.io/amazon-ivs-player-docs/1.51.0/web/).  | 
|  `code`  |  Code de l’erreur.  | 
|  `source`  |  Source de l’erreur.  | 
|  `message`  |  Message d’erreur lisible par l’homme.  | 

## Stratégie de sécurité de contenu
<a name="jwplayer-content-security-policy"></a>

L’API du fournisseur Amazon IVS est configurée pour fonctionner sur les pages qui utilisent la stratégie de sécurité du contenu (CSP). Reportez-vous à la section « Utilisation de la stratégie de sécurité du contenu » sous [Kit SDK du lecteur IVS : guide pour le Web](web-content-security-policy.md).

## Limitations
<a name="jwplayer-limitations"></a>

Le fournisseur ne prend pas en charge la conversion. Si vous avez activé la conversion dans le tableau de bord JW Player, vous pouvez la désactiver en définissant `cast` sur `null` lors de l’appel `setup()`. Cela masque le bouton de conversion.