

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Scrivi ed esamina il codice
<a name="producersdk-javaapi-writecode"></a>

In questa sezione della [procedura della libreria Java Producer](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/producer-sdk-javaapi.html), scrivete ed esaminate il codice di esempio Java scaricato nella sezione precedente. 

L'applicazione per i test di 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)) mostra il seguente modello di codifica:
+ Creare un'istanza di `KinesisVideoClient`.
+ Creare un'istanza di `MediaSource`.
+ Registra `MediaSource` con il client.
+ Avvia lo streaming. Avvia `MediaSource` e inizia a inviare i dati al client.

Nelle seguenti sezioni sono fornite maggiori informazioni.



## Crea un'istanza di KinesisVideoClient
<a name="producersdk-javaapi-review-code-create-client"></a>

Per creare l'oggetto `KinesisVideoClient`, richiama l'operazione `createKinesisVideoClient`.

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

Per eseguire chiamate alla rete, `KinesisVideoClient` ha bisogno di credenziali da autenticare. Puoi trasferire un'istanza di `SystemPropertiesCredentialsProvider`, che legge `AWSCredentials` per il profilo predefinito nel file di credenziali:

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





## Creare un'istanza di MediaSource
<a name="producersdk-javaapi-review-code-create-mediasource"></a>

Per inviare byte al flusso video Kinesis, devi produrre i dati. Amazon Kinesis Video Streams `MediaSource` fornisce l'interfaccia che rappresenta l'origine dei dati.

Ad esempio, la libreria Java Kinesis Video Streams `ImageFileMediaSource` fornisce l'implementazione `MediaSource` dell'interfaccia. Questa classe legge solo i dati da una serie di file multimediali anziché da un flusso video Kinesis, ma puoi usarla per testare il codice.

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

## Registra il MediaSource con il client
<a name="producersdk-javaapi-review-code-register-mediasource"></a>

Registra l'origine multimediale creata con `KinesisVideoClient` in modo che sia a conoscenza dell'esistenza del client e possa quindi inviargli i dati.

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



## Avvia la fonte multimediale
<a name="producersdk-javaapi-review-code-start-mediasource"></a>

Avvia la sorgente multimediale in modo che possa iniziare a generare dati e inviarli al client.

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

