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. Mulai
MediaSource
, 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());
KinesisVideoClient
Untuk 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();