Periksa kodenya - Amazon Kinesis Video Streams

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

Periksa kodenya

Di bagian prosedur library produsen Android ini, Anda memeriksa kode contoh.

Aplikasi pengujian Android (AmazonKinesisVideoDemoApp) menunjukkan pola pengkodean berikut:

  • Buat instans KinesisVideoClient.

  • Buat instans MediaSource.

  • Mulai streaming. MulaiMediaSource, dan mulai mengirim data ke klien.

Bagian berikut memberikan perincian.

Buat sebuah instance dari KinesisVideoClient

Anda membuat KinesisVideoClient objek dengan memanggil createKinesisVideoClient operasi.

mKinesisVideoClient = KinesisVideoAndroidClientFactory.createKinesisVideoClient( getActivity(), KinesisVideoDemoApp.KINESIS_VIDEO_REGION, KinesisVideoDemoApp.getCredentialsProvider());

KinesisVideoClientUntuk melakukan panggilan jaringan, diperlukan kredensil untuk mengautentikasi. Anda meneruskan instanceAWSCredentialsProvider, yang membaca kredensi Amazon Cognito Anda dari awsconfiguration.json file yang Anda modifikasi di bagian sebelumnya.

Buat sebuah instance dari MediaSource

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

Misalnya, library Android Kinesis Video Streams AndroidCameraMediaSource menyediakan MediaSource implementasi antarmuka. Kelas ini membaca data dari salah satu kamera perangkat.

Dalam contoh kode berikut (dari fragment/StreamConfigurationFragment.java file), konfigurasi untuk sumber media dibuat:

private AndroidCameraMediaSourceConfiguration getCurrentConfiguration() { return new AndroidCameraMediaSourceConfiguration( AndroidCameraMediaSourceConfiguration.builder() .withCameraId(mCamerasDropdown.getSelectedItem().getCameraId()) .withEncodingMimeType(mMimeTypeDropdown.getSelectedItem().getMimeType()) .withHorizontalResolution(mResolutionDropdown.getSelectedItem().getWidth()) .withVerticalResolution(mResolutionDropdown.getSelectedItem().getHeight()) .withCameraFacing(mCamerasDropdown.getSelectedItem().getCameraFacing()) .withIsEncoderHardwareAccelerated( mCamerasDropdown.getSelectedItem().isEndcoderHardwareAccelerated()) .withFrameRate(FRAMERATE_20) .withRetentionPeriodInHours(RETENTION_PERIOD_48_HOURS) .withEncodingBitRate(BITRATE_384_KBPS) .withCameraOrientation(-mCamerasDropdown.getSelectedItem().getCameraOrientation()) .withNalAdaptationFlags(StreamInfo.NalAdaptationFlags.NAL_ADAPTATION_ANNEXB_CPD_AND_FRAME_NALS) .withIsAbsoluteTimecode(false)); }

Dalam contoh kode berikut (dari fragment/StreamingFragment.java file), sumber media dibuat:

mCameraMediaSource = (AndroidCameraMediaSource) mKinesisVideoClient .createMediaSource(mStreamName, mConfiguration);

Mulai sumber media

Mulai sumber media sehingga dapat mulai menghasilkan data dan mengirimkannya ke klien. Contoh kode berikut adalah dari fragment/StreamingFragment.java file:

mCameraMediaSource.start();