

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Tulis dan periksa kodenya
<a name="producersdk-javaapi-writecode"></a>

Di bagian [prosedur pustaka produser Java ini](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/producer-sdk-javaapi.html), Anda menulis dan memeriksa kode contoh Java yang Anda unduh di bagian sebelumnya. 

Aplikasi uji 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)) menunjukkan pola pengkodean berikut:
+ Buat instans `KinesisVideoClient`.
+ Buat instans `MediaSource`.
+ Daftarkan `MediaSource` dengan klien.
+ Mulai streaming. Mulai `MediaSource` dan mulai mengirim data ke klien.

Bagian berikut memberikan perincian.



## Buat sebuah instance dari KinesisVideoClient
<a name="producersdk-javaapi-review-code-create-client"></a>

Anda membuat `KinesisVideoClient` objek dengan memanggil `createKinesisVideoClient` operasi.

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

`KinesisVideoClient`Untuk melakukan panggilan jaringan, diperlukan kredensil untuk mengautentikasi. Anda meneruskan instance`SystemPropertiesCredentialsProvider`, yang berbunyi `AWSCredentials` untuk profil default di file kredensial:

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





## Buat sebuah instance dari MediaSource
<a name="producersdk-javaapi-review-code-create-mediasource"></a>

Untuk mengirim byte ke aliran video Kinesis Anda, Anda harus menghasilkan data. Amazon Kinesis Video Streams `MediaSource` menyediakan antarmuka, yang mewakili sumber data.

Misalnya, perpustakaan Kinesis Video Streams Java `ImageFileMediaSource` menyediakan `MediaSource` implementasi antarmuka. Kelas ini hanya membaca data dari serangkaian file media daripada aliran video Kinesis, tetapi Anda dapat menggunakannya untuk menguji kode.

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

## Daftarkan MediaSource dengan klien
<a name="producersdk-javaapi-review-code-register-mediasource"></a>

Daftarkan sumber media yang Anda buat dengan `KinesisVideoClient` sehingga tahu tentang klien (dan kemudian dapat mengirim data ke klien).

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



## Mulai sumber media
<a name="producersdk-javaapi-review-code-start-mediasource"></a>

Mulai sumber media sehingga dapat mulai menghasilkan data dan mengirimkannya ke klien.

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

