MediaCas クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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 を使用すると、 と 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 |
この |
Handle |
基になる Android インスタンスへのハンドル。 (継承元 Object) |
JniIdentityHashCode |
MediaCas を使用すると、 と |
JniPeerMembers |
MediaCas を使用すると、 と |
PeerReference |
MediaCas を使用すると、 と |
ThresholdClass |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用することを意図したものではありません。 (継承元 Object) |
ThresholdType |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用することを意図したものではありません。 (継承元 Object) |
メソッド
Clone() |
このオブジェクトのコピーを作成して返します。 (継承元 Object) |
Close() |
MediaCas を使用すると、 と |
Dispose() |
MediaCas を使用すると、 と |
Dispose(Boolean) |
MediaCas を使用すると、 と |
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 を使用すると、 と |
ToString() |
オブジェクトの文字列形式を返します。 (継承元 Object) |
UnregisterFromRuntime() |
MediaCas を使用すると、 と |
Wait() |
現在のスレッドが起動するまで待機します。通常<>は、通知</em> または <em>割り込み</em によって待機します>。 (継承元 Object) |
Wait(Int64) |
現在のスレッドが起動するまで待機します。通常<>は、通知</em> または>< em 割り込み</em>、または一定のリアルタイムが経過するまで待機します。 (継承元 Object) |
Wait(Int64, Int32) |
現在のスレッドが起動するまで待機します。通常<>は、通知</em> または>< em 割り込み</em>、または一定のリアルタイムが経過するまで待機します。 (継承元 Object) |
明示的なインターフェイスの実装
IJavaPeerable.Disposed() |
MediaCas を使用すると、 と |
IJavaPeerable.DisposeUnlessReferenced() |
MediaCas を使用すると、 と |
IJavaPeerable.Finalized() |
MediaCas を使用すると、 と |
IJavaPeerable.JniManagedPeerState |
MediaCas を使用すると、 と |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
MediaCas を使用すると、 と |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
MediaCas を使用すると、 と |
IJavaPeerable.SetPeerReference(JniObjectReference) |
MediaCas を使用すると、 と |
拡張メソッド
JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
JavaCast<TResult>(IJavaObject) |
MediaCas を使用すると、 と |
GetJniTypeName(IJavaPeerable) |
MediaCas を使用すると、 と |