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