

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Écrire et examiner le code
<a name="producersdk-javaapi-writecode"></a>

Dans cette section de la [procédure de la bibliothèque Java Producer](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/producer-sdk-javaapi.html), vous allez écrire et examiner l'exemple de code Java que vous avez téléchargé dans la section précédente. 

L'application de test Java ([https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-java/blob/master/src/main/demo/com/amazonaws/kinesisvideo/demoapp/DemoAppMain.java](https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-java/blob/master/src/main/demo/com/amazonaws/kinesisvideo/demoapp/DemoAppMain.java)) présente le modèle de codage suivant :
+ Créez une instance de `KinesisVideoClient`.
+ Créez une instance de `MediaSource`.
+ Inscrivez la `MediaSource` avec le client.
+ Démarrez le streaming. Démarrez le `MediaSource` et il commence à envoyer des données au client.

Consultez les sections suivantes pour obtenir des détails.



## Créez une instance de KinesisVideoClient
<a name="producersdk-javaapi-review-code-create-client"></a>

Vous créez l'objet `KinesisVideoClient` en appelant l'opération `createKinesisVideoClient`.

```
final KinesisVideoClient kinesisVideoClient = KinesisVideoJavaClientFactory
    .createKinesisVideoClient(
        Regions.US_WEST_2,
        AuthHelper.getSystemPropertiesCredentialsProvider());
```

Pour que `KinesisVideoClient` passe des appels au réseau, il a besoin des informations d'identification. Vous transmettez une instance de `SystemPropertiesCredentialsProvider`, qui lit `AWSCredentials` pour le profil par défaut dans le fichier d'informations d'identification :

```
[default]
aws_access_key_id = ABCDEFGHIJKLMOPQRSTU
aws_secret_access_key = AbCd1234EfGh5678IjKl9012MnOp3456QrSt7890
```





## Créez une instance de MediaSource
<a name="producersdk-javaapi-review-code-create-mediasource"></a>

Pour envoyer des octets à votre flux vidéo Kinesis, vous devez produire les données. Amazon Kinesis Video Streams fournit `MediaSource` l'interface, qui représente la source de données.

Par exemple, la bibliothèque Java Kinesis Video Streams fournit `ImageFileMediaSource` l'implémentation de `MediaSource` l'interface. Cette classe lit uniquement les données d'une série de fichiers multimédia plutôt que d'un flux vidéo Kinesis, mais vous pouvez l'utiliser pour tester le code.

```
final MediaSource bytesMediaSource = createImageFileMediaSource();
```

## Enregistrez le MediaSource auprès du client
<a name="producersdk-javaapi-review-code-register-mediasource"></a>

Inscrivez la source média que vous avez créée avec le `KinesisVideoClient` afin qu'elle prenne connaissance du client (et puisse ensuite envoyer des données au client).

```
kinesisVideoClient.registerMediaSource(mediaSource);
```



## Démarrez la source multimédia
<a name="producersdk-javaapi-review-code-start-mediasource"></a>

Démarrez la source multimédia afin qu'elle puisse commencer à générer des données et à les envoyer au client.

```
bytesMediaSource.start();
```

