共用方式為


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來正確布建它。 EMM(權利管理訊息)可以分散在頻外,或具有數據流的頻內。

為了解構基本數據流,應用程式會先呼叫 #openSession 以產生可唯一 Session 識別會話的物件。 會話會提供後續金鑰更新和解構活動的內容。 ECM(權利控制訊息)會透過方法 Session#processEcm傳送至會話。

應用程式接著會建構 MediaDescrambler 物件,並使用 以會話 MediaDescrambler#setMediaCasSession初始化它。 這會將解構函式系結至會話,然後可以使用 descrambler 來解構使用會話密鑰保護的內容,或在使用 android.media.MediaCodec譯碼期間。

如果應用程式使用自己的擷取器處理範例擷取,則可以使用 MediaDescrambler 將樣本解譯成清除緩衝區(如果會話的授權不需要安全譯碼器),或解構少量數據以擷取下游管線處理樣本所需的資訊(如果會話的授權需要安全譯碼器)。

如果會話需要安全譯碼器,則必須將 MediaDescrambler 提供給 MediaCodec,以將佇列佇列的 MediaCodec#queueSecureInputBuffer 範例還原成受保護的緩衝區。 應用程式應該使用 MediaCodec#configure(MediaFormat, android.view.Surface, int, MediaDescrambler) ,而不是一般 MediaCodec#configure(MediaFormat, android.view.Surface, MediaCrypto, int) 方法來設定 MediaCodec。

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

如果應用程式使用 MediaExtractor,它可以藉由呼叫 MediaExtractor#setMediaCas,將 CAS 工作階段管理委派給 MediaExtractor。 MediaExtractor 會接手並呼叫 #openSession#processEmm 和/或 Session#processEcm等。 如有必要。

使用 MediaExtractor時,如果授權需要安全譯碼器,應用程式仍然需要 MediaDescrambler 搭配 MediaCodec 使用。 您可以藉由呼叫 MediaExtractor#getCasInfo來擷取與追蹤之解構函式相關聯的會話,並用來初始化 MediaCodec 的 MediaDescrambler 物件。

<h3>接聽程式</h3>

應用程式可能會註冊接聽程式,以使用 方法 #setEventListener從 CA 系統接收事件。 事件的確切格式為配置特定,且未由此 API 指定。

android.media.MediaCasJava 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

建構函式

MediaCas(Context, Int32, String, Int32)

具現化指定系統識別碼的 CA 系統。

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

具現化指定系統識別碼的 CA 系統。

MediaCas(Int32)

具現化指定系統識別碼的 CA 系統。

欄位

PluginStatusPhysicalModuleChanged
已淘汰.

事件,表示 CAS 系統的狀態會藉由移除或插入實體 CAS 模組而變更。

PluginStatusSessionNumberChanged
已淘汰.

要指出 CAS 系統會話數目已變更的事件。

ScramblingModeAes128
已淘汰.

進階加密系統 (AES) 128 位加密模式。

ScramblingModeAesCbc
已淘汰.

進階加密系統 (AES) 加密區塊鏈結 (CBC) 模式。

ScramblingModeAesEcb
已淘汰.

進階加密系統(AES)電子代碼簿(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
已淘汰.

電纜電信工程師(SCTE)52 模式的三重數據加密演算法(TDES)協會。

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()

喚醒正在等候此物件監視器的單一線程。

(繼承來源 Object)
NotifyAll()

喚醒正在等候此物件監視器的所有線程。

(繼承來源 Object)
OpenSession()

開啟會話,以解構條件式存取系統所爭用的一或多個數據流。

OpenSession(Int32, Int32)

開啟會話,以解構條件式存取系統所爭用的一或多個數據流。

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 <notified/em>或<em>interrupted</em> 來喚醒它。<>

(繼承來源 Object)
Wait(Int64)

讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。

(繼承來源 Object)
Wait(Int64, Int32)

讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</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來取消分割受保護的媒體串流。

適用於