コードを調べる - Amazon Kinesis Video Streams

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

コードを調べる

Android プロデューサーライブラリの手順 のこのセクションでは、サンプルコードを調べます。

Android テストアプリケーション (AmazonKinesisVideoDemoApp) は、次のコードパターンを示します。

  • KinesisVideoClient のインスタンスを作成します。

  • MediaSource のインスタンスを作成します。

  • ストリーミングを開始します。を起動するとMediaSource、クライアントへのデータの送信が開始されます。

詳細については次のセクションで説明します。

のインスタンスを作成する KinesisVideoClient

createKinesisVideoClient オペレーションを呼び出す KinesisVideoClient オブジェクトを作成します。

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

KinesisVideoClient がネットワーク呼び出しを行うには、認証のために認証情報が必要です。AWSCredentialsProvider のインスタンスを渡します。これは、前のセクションで変更した awsconfiguration.json ファイルから Amazon Cognito 認証情報を読み込みます。

のインスタンスを作成する MediaSource

Kinesis のビデオストリームにバイトを送信するには、データを生成する必要があります。Amazon Kinesis Video Streams は MediaSource インターフェイスを提供し、これは、データソースを示します。

例えば、Kinesis Video Streams Android ライブラリは、MediaSource インターフェイスの AndroidCameraMediaSource 実装を提供します。このクラスは、デバイスのカメラの 1 つからデータを読み取ります。

次のコード例 (「fragment/StreamConfigurationFragment.java」ファイルから) では、メディアソースの設定が作成されます。

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)); }

次のコード例 (「fragment/StreamingFragment.java」ファイルから) では、メディアソースの設定が作成されます。

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

メディアソースを起動する

メディアソースを開始して、データを生成し、それをクライアントに送信できるようにします。次のコード例は fragment/StreamingFragment.java ファイルからのものです。

mCameraMediaSource.start();