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 (權利管理訊息) 可以分散在頻外或串流內。
為了解構基本資料流程,應用程式會先呼叫 #openSession
以產生可唯一 Session
識別會話的物件。 會話提供後續金鑰更新和取消編字活動的內容。 (權利控制訊息) 的 ECM 會透過 方法 Session#processEcm
傳送至會話。
應用程式接下來會建構 MediaDescrambler 物件,並使用 來初始化會話 MediaDescrambler#setMediaCasSession
。 這會將 descrambler 系結至會話,而 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.MediaCas
JAVA 檔。
此頁面的部分是根據 原始碼專案所建立和共用的工作進行修改,並根據中所述的詞彙使用。
建構函式
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 |
已淘汰.
纜線電信工程師 (SCTE) 52 模式的進階加密系統 (AES) 社會。 |
ScramblingModeDvbCissaV1 |
已淘汰.
DVB Common IPTV Software-oriented Scrambling Algorithm (CISSA) 第 1 版。 |
ScramblingModeDvbCsa1 |
已淘汰.
DVB (數位視訊廣播) 常見 Scrambling 演算法 (CSA) 1。 |
ScramblingModeDvbCsa2 |
已淘汰.
DVB CSA 2。 |
ScramblingModeDvbCsa3Enhance |
已淘汰.
完全增強模式中的 DVB CSA 3。 |
ScramblingModeDvbCsa3Minimal |
已淘汰.
最低增強模式中的 DVB CSA 3。 |
ScramblingModeDvbCsa3Standard |
已淘汰.
標準模式中的 DVB CSA 3。 |
ScramblingModeDvbIdsa |
已淘汰.
ATIS-0800006 IIF 預設 Scrambling 演算法 (IDSA) 。 |
ScramblingModeMulti2 |
已淘汰.
對稱金鑰演算法。 |
ScramblingModeReserved |
已淘汰.
DVB (數位視訊廣播) 保留模式。 |
ScramblingModeTdesEcb |
已淘汰.
三重資料加密演算法 (TDES) 電子代碼簿 (ECB) 模式。 |
ScramblingModeTdesScte52 |
已淘汰.
纜線電信工程師 (SCTE) 52 模式的三重資料加密演算法 (TDES) 社會。 |
SessionUsageLive |
已淘汰.
Cas 會話可用來解構即時串流。 |
SessionUsagePlayback |
已淘汰.
Cas 會話是用來解構重新錄製的資料流程。 |
SessionUsageRecord |
已淘汰.
Cas 會話可用來解構即時串流,並加密本機錄製的內容 |
SessionUsageTimeshift |
已淘汰.
Cas 會話可用來解構即時串流、加密本機錄製的內容,以及播放本機加密的內容。 |
屬性
Class |
傳回這個 |
Handle |
基礎 Android 實例的控制碼。 (繼承來源 Object) |
JniIdentityHashCode |
MediaCas 可用來取得索引鍵,以便與 一起 |
JniPeerMembers |
MediaCas 可用來取得索引鍵,以便與 一起 |
PeerReference |
MediaCas 可用來取得索引鍵,以便與 一起 |
ThresholdClass |
此 API 支援 Mono for Android 基礎結構,並不適合直接從您的程式碼使用。 (繼承來源 Object) |
ThresholdType |
此 API 支援 Mono for Android 基礎結構,並不適合直接從您的程式碼使用。 (繼承來源 Object) |
方法
Clone() |
建立並傳回這個 物件的複本。 (繼承來源 Object) |
Close() |
MediaCas 可用來取得索引鍵,以便與 一起 |
Dispose() |
MediaCas 可用來取得索引鍵,以便與 一起 |
Dispose(Boolean) |
MediaCas 可用來取得索引鍵,以便與 一起 |
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 可用來取得索引鍵,以便與 一起 |
ToString() |
傳回物件的字串表示。 (繼承來源 Object) |
UnregisterFromRuntime() |
MediaCas 可用來取得索引鍵,以便與 一起 |
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 可用來取得索引鍵,以便與 一起 |
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 可用來取得索引鍵,以便與 一起 |