翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
コードを調べる
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();