View a markdown version of this page

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 pust aka 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 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 kredenSIAL untuk mengotentikasi. Anda meneruskan contohAWSCredentialsProvider, yang membaca kredenSIAL Amazon Cognito Anda dari awsconfiguration.json file yang Anda modifikasi di bagian sebelumnya.

Buat instance dari MediaSource

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

Misalnya, perpustakaan Kinesis Video Streams Android menyediakan AndroidCameraMediaSource implementasi MediaSource 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();