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
. EMM (エンタイトルメント管理メッセージ) は、帯域外に配布することも、ストリームと一緒にインバンドで配布することもできます。
基本ストリームをデクラムするために、アプリは最初にセッションを一意に識別するオブジェクトを生成Session
する呼び出し#openSession
を行います。 セッションは、後続のキー更新とデクランブリング アクティビティのコンテキストを提供します。 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
呼び出#openSession
しSession#processEcm
などを行います。 必要に応じて〘
使用 MediaExtractor
する場合、ライセンスにセキュリティで保護されたデコーダーが必要な場合でも、アプリで MediaCodec
使用する MediaDescrambler が必要になります。 トラックの descrambler に関連付けられているセッションは、呼び出 MediaExtractor#getCasInfo
すことで取得でき、MediaCodec の MediaDescrambler オブジェクトを初期化するために使用されます。
<h3>リスナー</h3>
アプリでは、メソッド #setEventListener
を使用して CA システムからイベントを受信するリスナーを登録できます。 イベントの正確な形式はスキーム固有であり、この API では指定されていません。
の Java ドキュメントandroid.media.MediaCas
このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。
コンストラクター
MediaCas(Context, Int32, String, Int32, Handler, MediaCas+IEventListener) |
指定したシステム ID の CA システムをインスタンス化します。 |
MediaCas(Context, Int32, String, Int32) |
指定したシステム 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 一般的な IPTV ソフトウェア指向のスクランブリング アルゴリズム (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 |
古い.
トリプル データ暗号化アルゴリズム (TDES) 電子コード ブック (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[], Int32, Int32) |
受信した EMM パケットを CA システムに送信します。 |
ProcessEmm(Byte[]) |
受信した 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, Int32) |
現在のスレッドが目覚めるまで待機します。通常<><は、通知/em> または <em>中断</em> によって、または一定のリアルタイムが経過するまで待機します。 (継承元 Object) |
Wait(Int64) |
現在のスレッドが目覚めるまで待機します。通常<><は、通知/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 を使用して、 |