MediaCas クラス

定義

MediaCas を使用すると、 と android.media.MediaDescrambler組み合わせて、保護されたメディア ストリームをデスクランブリングするためのキーを取得できます。

[Android.Runtime.Register("android/media/MediaCas", ApiSince=26, DoNotGenerateAcw=true)]
public sealed class MediaCas : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.Lang.IAutoCloseable
[<Android.Runtime.Register("android/media/MediaCas", ApiSince=26, DoNotGenerateAcw=true)>]
type MediaCas = class
    inherit Object
    interface IAutoCloseable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
継承
MediaCas
属性
実装

注釈

MediaCas を使用すると、 と android.media.MediaDescrambler組み合わせて、保護されたメディア ストリームをデスクランブリングするためのキーを取得できます。 MediaCas API は、ISO/IEC13818-1 などの条件付きアクセスをサポートするように設計されています。 CA システムは、16 ビット整数CA_system_idによって識別されます。 通常、スクランブル アルゴリズムは独自のものであり、デバイスにインストールされているベンダー固有の CA プラグインによって実装されます。

アプリは、使用する CA システムの MediaCas オブジェクトを構築する役割を担います。 アプリは、静的メソッド #isSystemIdSupportedを使用して特定の CA システムがサポートされているかどうかを照会できます。 また、静的メソッド #enumeratePluginsを使用して、サポートされている CA システムの一覧全体を取得することもできます。

MediaCas オブジェクトが構築されたら、アプリで メソッド #provision や を #processEmm使用して適切にプロビジョニングする必要があります。 EM (エンタイトルメント管理メッセージ) は、帯域外に配布することも、ストリームと一緒にインバンドで配布することもできます。

基本ストリームをデクラムするために、アプリは最初に を呼び出 #openSession して、セッションを Session 一意に識別する オブジェクトを生成します。 セッションは、後続の主要な更新とデスクランブリング アクティビティのコンテキストを提供します。 ECM (エンタイトルメント制御メッセージ) は、メソッド Session#processEcmを使用してセッションに送信されます。

アプリは次に MediaDescrambler オブジェクトを構築し、 を使用して MediaDescrambler#setMediaCasSessionセッションで初期化します。 これにより、descrambler をセッションに結び付け、descrambler を使用して、抽出中または でデコード中に、セッションのキーでセキュリティ保護されたコンテンツを android.media.MediaCodecデクランブルできます。

アプリが独自の抽出器を使用してサンプル抽出を処理する場合は、MediaDescrambler を使用してサンプルを明確なバッファーに分離するか (セッションのライセンスにセキュリティで保護されたデコーダーが必要ない場合)、少量のデータをデクランブルしてダウンストリーム パイプラインでサンプルを処理するために必要な情報を取得できます (セッションのライセンスにセキュリティで保護されたデコーダーが必要な場合)。

セッションにセキュリティで保護されたデコーダーが必要な場合は、MediaDescrambler を MediaCodec に提供して、 によって MediaCodec#queueSecureInputBuffer キューに入れられたサンプルを保護されたバッファーにデクランブルする必要があります。 アプリでは、MediaCodec を構成するために通常MediaCodec#configure(MediaFormat, android.view.Surface, MediaCrypto, int)のメソッドの代わりに を使用MediaCodec#configure(MediaFormat, android.view.Surface, int, MediaDescrambler)する必要があります。

<h3>Android の MediaExtractor</h3 の使用>

アプリで を使用 MediaExtractorする場合は、 を呼び出 MediaExtractor#setMediaCasして CAS セッション管理を MediaExtractor に委任できます。 MediaExtractor が引き継ぎ、、#processEmmまたは Session#processEcmなどの呼び出#openSessionしを行います。 必要に応じて。

を使用 MediaExtractorする場合、ライセンスにセキュリティで保護されたデコーダーが必要な場合でも、アプリで MediaCodec 使用する MediaDescrambler が必要になります。 トラックの descrambler に関連付けられているセッションは、 を呼び出 MediaExtractor#getCasInfoすことによって取得でき、MediaCodec の MediaDescrambler オブジェクトを初期化するために使用されます。

<h3>リスナー</h3>

アプリでは、 メソッド #setEventListenerを使用して、CA システムからイベントを受信するリスナーを登録できます。 イベントの正確な形式はスキーム固有であり、この API では指定されていません。

の Java ドキュメント android.media.MediaCas

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

コンストラクター

MediaCas(Context, Int32, String, Int32)

指定したシステム ID の CA システムをインスタンス化します。

MediaCas(Context, Int32, String, Int32, Handler, MediaCas+IEventListener)

指定したシステム ID の CA システムをインスタンス化します。

MediaCas(Int32)

指定したシステム ID の CA システムをインスタンス化します。

フィールド

PluginStatusPhysicalModuleChanged
古い.

CAS システムの状態が、物理 CAS モジュールの取り外しまたは挿入によって変更されることを示すイベント。

PluginStatusSessionNumberChanged
古い.

CAS システムのセッション数が変更されたことを示すイベント。

ScramblingModeAes128
古い.

Advanced Encryption System (AES) 128 ビット暗号化モード。

ScramblingModeAesCbc
古い.

Advanced Encryption System (AES) 暗号ブロック チェーン (CBC) モード。

ScramblingModeAesEcb
古い.

Advanced Encryption System (AES) Electronic Code Book (ECB) モード。

ScramblingModeAesScte52
古い.

高度な暗号化システム (AES) ケーブル通信エンジニア協会 (SCTE) 52 モード。

ScramblingModeDvbCissaV1
古い.

DVB Common IPTV Software-oriented Scrambling Algorithm (CISSA) バージョン 1。

ScramblingModeDvbCsa1
古い.

DVB (デジタル ビデオ ブロードキャスト) コモン スクランブリング アルゴリズム (CSA) 1。

ScramblingModeDvbCsa2
古い.

DVB CSA 2.

ScramblingModeDvbCsa3Enhance
古い.

DVB CSA 3 は完全に強化されたモードです。

ScramblingModeDvbCsa3Minimal
古い.

最小限に強化されたモードの DVB CSA 3。

ScramblingModeDvbCsa3Standard
古い.

標準モードの DVB CSA 3。

ScramblingModeDvbIdsa
古い.

ATIS-0800006 IIF 既定のスクランブル アルゴリズム (IDSA)。

ScramblingModeMulti2
古い.

対称キー アルゴリズム。

ScramblingModeReserved
古い.

DVB (デジタル ビデオ ブロードキャスト) 予約モード。

ScramblingModeTdesEcb
古い.

Triple Data Encryption Algorithm (TDES) Electronic Code Book (ECB) モード。

ScramblingModeTdesScte52
古い.

トリプル データ暗号化アルゴリズム (TDES) ケーブル通信エンジニア協会 (SCTE) 52 モード。

SessionUsageLive
古い.

Cas セッションは、ライブ ストリームをデクラムするために使用されます。

SessionUsagePlayback
古い.

Cas セッションは、再スコア付けされたストリームをデクラムブルするために使用されます。

SessionUsageRecord
古い.

Cas セッションは、ライブ ストリームをデクラムし、ローカルに記録されたコンテンツを暗号化するために使用されます

SessionUsageTimeshift
古い.

Cas セッションを使用して、ライブ ストリームをデクラムし、ローカルに記録されたコンテンツを暗号化し、ローカルで暗号化されたコンテンツを再生します。

プロパティ

Class

この Objectのランタイム クラスを返します。

(継承元 Object)
Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
JniIdentityHashCode

MediaCas を使用すると、 と android.media.MediaDescrambler組み合わせて、保護されたメディア ストリームをデスクランブリングするためのキーを取得できます。

(継承元 Object)
JniPeerMembers

MediaCas を使用すると、 と android.media.MediaDescrambler組み合わせて、保護されたメディア ストリームをデスクランブリングするためのキーを取得できます。

PeerReference

MediaCas を使用すると、 と android.media.MediaDescrambler組み合わせて、保護されたメディア ストリームをデスクランブリングするためのキーを取得できます。

(継承元 Object)
ThresholdClass

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用することを意図したものではありません。

(継承元 Object)
ThresholdType

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用することを意図したものではありません。

(継承元 Object)

メソッド

Clone()

このオブジェクトのコピーを作成して返します。

(継承元 Object)
Close()

MediaCas を使用すると、 と android.media.MediaDescrambler組み合わせて、保護されたメディア ストリームをデスクランブリングするためのキーを取得できます。

Dispose()

MediaCas を使用すると、 と android.media.MediaDescrambler組み合わせて、保護されたメディア ストリームをデスクランブリングするためのキーを取得できます。

(継承元 Object)
Dispose(Boolean)

MediaCas を使用すると、 と android.media.MediaDescrambler組み合わせて、保護されたメディア ストリームをデスクランブリングするためのキーを取得できます。

(継承元 Object)
EnumeratePlugins()

デバイスで使用可能なすべての CA プラグインを一覧表示します。

Equals(Object)

他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。

(継承元 Object)
GetHashCode()

オブジェクトのハッシュ コード値を返します。

(継承元 Object)
IsSystemIdSupported(Int32)

このデバイスで特定の CA システムがサポートされているかどうかを照会します。

JavaFinalize()

ガベージ コレクションがオブジェクトへの参照がなくなったと判断したときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
Notify()

このオブジェクトのモニターで待機している 1 つのスレッドをウェイクアップします。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドをウェイクアップします。

(継承元 Object)
OpenSession()

セッションを開き、条件付きアクセス システムによってスクランブルされた 1 つ以上のストリームをデクランブルします。

OpenSession(Int32, Int32)

セッションを開き、条件付きアクセス システムによってスクランブルされた 1 つ以上のストリームをデクランブルします。

ProcessEmm(Byte[])

受信した EMM パケットを CA システムに送信します。

ProcessEmm(Byte[], Int32, Int32)

受信した EMM パケットを CA システムに送信します。

Provision(String)

CA システムのプロビジョニング操作を開始します。

RefreshEntitlements(Int32, Byte[])

エンタイトルメント キーを更新するように CA システムに通知します。

SendEvent(Int32, Int32, Byte[])

CA システムにイベントを送信します。

SetEventListener(MediaCas+IEventListener, Handler)

MediaCas インスタンスから通知を受信するようにイベント リスナーを設定します。

SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
SetPrivateData(Byte[])

CA システムのプライベート データを送信します。

ToArray<T>()

MediaCas を使用すると、 と android.media.MediaDescrambler組み合わせて、保護されたメディア ストリームをデスクランブリングするためのキーを取得できます。

(継承元 Object)
ToString()

オブジェクトの文字列形式を返します。

(継承元 Object)
UnregisterFromRuntime()

MediaCas を使用すると、 と android.media.MediaDescrambler組み合わせて、保護されたメディア ストリームをデスクランブリングするためのキーを取得できます。

(継承元 Object)
Wait()

現在のスレッドが起動するまで待機します。通常<>は、通知</em> または <em>割り込み</em によって待機します>。

(継承元 Object)
Wait(Int64)

現在のスレッドが起動するまで待機します。通常<>は、通知</em> または>< em 割り込み</em>、または一定のリアルタイムが経過するまで待機します。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドが起動するまで待機します。通常<>は、通知</em> または>< em 割り込み</em>、または一定のリアルタイムが経過するまで待機します。

(継承元 Object)

明示的なインターフェイスの実装

IJavaPeerable.Disposed()

MediaCas を使用すると、 と android.media.MediaDescrambler組み合わせて、保護されたメディア ストリームをデスクランブリングするためのキーを取得できます。

(継承元 Object)
IJavaPeerable.DisposeUnlessReferenced()

MediaCas を使用すると、 と android.media.MediaDescrambler組み合わせて、保護されたメディア ストリームをデスクランブリングするためのキーを取得できます。

(継承元 Object)
IJavaPeerable.Finalized()

MediaCas を使用すると、 と android.media.MediaDescrambler組み合わせて、保護されたメディア ストリームをデスクランブリングするためのキーを取得できます。

(継承元 Object)
IJavaPeerable.JniManagedPeerState

MediaCas を使用すると、 と android.media.MediaDescrambler組み合わせて、保護されたメディア ストリームをデスクランブリングするためのキーを取得できます。

(継承元 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

MediaCas を使用すると、 と android.media.MediaDescrambler組み合わせて、保護されたメディア ストリームをデスクランブリングするためのキーを取得できます。

(継承元 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

MediaCas を使用すると、 と android.media.MediaDescrambler組み合わせて、保護されたメディア ストリームをデスクランブリングするためのキーを取得できます。

(継承元 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

MediaCas を使用すると、 と android.media.MediaDescrambler組み合わせて、保護されたメディア ストリームをデスクランブリングするためのキーを取得できます。

(継承元 Object)

拡張メソッド

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

MediaCas を使用すると、 と android.media.MediaDescrambler組み合わせて、保護されたメディア ストリームをデスクランブリングするためのキーを取得できます。

GetJniTypeName(IJavaPeerable)

MediaCas を使用すると、 と android.media.MediaDescrambler組み合わせて、保護されたメディア ストリームをデスクランブリングするためのキーを取得できます。

適用対象