MediaCas Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
MediaCas kann verwendet werden, um Schlüssel für das Entschlüsseln geschützter Medienströme in Verbindung mit android.media.MediaDescrambler.
[Android.Runtime.Register("android/media/MediaCas", ApiSince=26, DoNotGenerateAcw=true)]
public sealed class MediaCas : Java.Lang.Object, IDisposable, 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
- Vererbung
- Attribute
- Implementiert
Hinweise
MediaCas kann verwendet werden, um Schlüssel für das Entschlüsseln geschützter Medienströme in Verbindung mit android.media.MediaDescrambler. Die MediaCas-APIs sollen bedingten Zugriff unterstützen, z. B. die im ISO/IEC13818-1. Das Zertifizierungsstellensystem wird durch eine 16-Bit-ganzzahlige CA_system_id identifiziert. Die Scramblingalgorithmen sind in der Regel proprietäre und implementiert von herstellerspezifischen CA-Plug-Ins, die auf dem Gerät installiert sind.
Die App ist für die Erstellung eines MediaCas-Objekts für das CA-System verantwortlich, das sie verwenden möchte. Die App kann abfragen, ob ein bestimmtes Zertifizierungsstellensystem mit statischer Methode #isSystemIdSupportedunterstützt wird. Sie kann auch die gesamte Liste der unterstützten Zertifizierungsstellensysteme mit statischer Methode #enumeratePluginsabrufen.
Sobald das MediaCas-Objekt erstellt wurde, sollte die App es ordnungsgemäß mithilfe der Methode #provision und/oder bereitstellen #processEmm. Die EMMs (Berechtigungsverwaltungsnachrichten) können out-of-band oder in-band mit dem Datenstrom verteilt werden.
Um elementare Datenströme zu entwischen, ruft #openSession die App zunächst auf, um ein Session Objekt zu generieren, das eine Sitzung eindeutig identifiziert. Eine Sitzung stellt einen Kontext für nachfolgende Schlüsselaktualisierungen und Deskramblingaktivitäten bereit. Die ECMs (Berechtigungssteuerungsmeldungen) werden per Methode Session#processEcman die Sitzung gesendet.
Die App erstellt als Nächstes ein MediaDescrambler -Objekt und initialisiert es mit der Sitzung.MediaDescrambler#setMediaCasSession Dadurch wird der Descrambler mit der Sitzung verknüpft, und der Descrambler kann dann verwendet werden, um mit dem Schlüssel der Sitzung gesicherten Inhalt zu entschlüsseln, entweder während der Extraktion oder während der Decodierung mit android.media.MediaCodec.
Wenn die App die Beispielextraktion mithilfe eines eigenen Extraktors verarbeitet, kann sie MediaDescrambler verwenden, um Beispiele in klare Puffer zu entschlüsseln (wenn die Lizenz der Sitzung keine sicheren Decoder erfordert) oder eine kleine Menge von Daten zum Abrufen von Informationen entschlüsselt, die für die Verarbeitung des Beispiels erforderlich sind (wenn die Lizenz der Sitzung sichere Decoder erfordert).
Wenn für die Sitzung ein sicherer Decoder erforderlich ist, muss für MediaCodec ein MediaDescrambler bereitgestellt werden, um Von geschützten Puffern in die Warteschlange eingereihte MediaCodec#queueSecureInputBuffer Beispiele zu entschlüsseln. Die App sollte anstelle der normalen MediaCodec#configure(MediaFormat, android.view.Surface, int, MediaDescrambler) Methode zum Konfigurieren von MediaCodec verwendet MediaCodec#configure(MediaFormat, android.view.Surface, MediaCrypto, int) werden.
<h3>Verwenden des MediaExtractors</h3 von Android>
Wenn die App verwendet MediaExtractor, kann sie die CAS-Sitzungsverwaltung durch Aufrufen MediaExtractor#setMediaCasan MediaExtractor delegieren. MediaExtractor übernimmt und anruft #openSession, #processEmm und/oder Session#processEcm, usw. falls erforderlich.
Bei verwendung MediaExtractorwürde die App weiterhin einen MediaDescrambler verwenden MediaCodec , wenn die Lizenzierung einen sicheren Decoder erfordert. Die sitzung, die dem Descrambler eines Titels zugeordnet ist, kann durch Aufrufen MediaExtractor#getCasInfoabgerufen und zum Initialisieren eines MediaDescrambler-Objekts für MediaCodec verwendet werden.
<h3>Listener</h3>
Die App kann einen Listener registrieren, um Ereignisse vom Zertifizierungsstellensystem mithilfe der Methode #setEventListenerzu empfangen. Das genaue Format des Ereignisses ist schemaspezifisch und wird von dieser API nicht angegeben.
Java Dokumentation für android.media.MediaCas.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.
Konstruktoren
| Name | Beschreibung |
|---|---|
| MediaCas(Context, Int32, String, Int32, Handler, MediaCas+IEventListener) |
Instanziieren Sie ein Zertifizierungsstellensystem der angegebenen System-ID. |
| MediaCas(Context, Int32, String, Int32) |
Instanziieren Sie ein Zertifizierungsstellensystem der angegebenen System-ID. |
| MediaCas(Int32) |
Instanziieren Sie ein Zertifizierungsstellensystem der angegebenen System-ID. |
Felder
| Name | Beschreibung |
|---|---|
| PluginStatusPhysicalModuleChanged |
Veraltet.
Das Ereignis, das angibt, dass der Status des CAS-Systems durch das Entfernen oder Einfügen physischer CAS-Module geändert wird. |
| PluginStatusSessionNumberChanged |
Veraltet.
Das Ereignis, das angibt, dass die Anzahl der Sitzung des CAS-Systems geändert wird. |
| ScramblingModeAes128 |
Veraltet.
Advanced Encryption System (AES) 128-Bit-Verschlüsselungsmodus. |
| ScramblingModeAesCbc |
Veraltet.
Advanced Encryption System (AES) Cipher Block Chaining (CBC)-Modus. |
| ScramblingModeAesEcb |
Veraltet.
Advanced Encryption System (AES) Electronic Code Book (ECB)-Modus. |
| ScramblingModeAesScte52 |
Veraltet.
Advanced Encryption System (AES) Society of Cable Telecommunications Engineers (SCTE) 52 Mode. |
| ScramblingModeDvbCissaV1 |
Veraltet.
DVB Common IPTV Software-orientierte Scrambling Algorithm (CISSA) Version 1. |
| ScramblingModeDvbCsa1 |
Veraltet.
DVB (Digital Video Broadcasting) Common Scrambling Algorithm (CSA) 1. |
| ScramblingModeDvbCsa2 |
Veraltet.
DVB CSA 2. |
| ScramblingModeDvbCsa3Enhance |
Veraltet.
DVB CSA 3 im voll erweiterten Modus. |
| ScramblingModeDvbCsa3Minimal |
Veraltet.
DVB CSA 3 im minimal erweiterten Modus. |
| ScramblingModeDvbCsa3Standard |
Veraltet.
DVB CSA 3 im Standardmodus. |
| ScramblingModeDvbIdsa |
Veraltet.
ATIS-0800006 IIF Default Scrambling Algorithm (IDSA). |
| ScramblingModeMulti2 |
Veraltet.
Ein symmetrischer Schlüsselalgorithmus. |
| ScramblingModeReserved |
Veraltet.
DVB (Digital Video Broadcasting) reservierter Modus. |
| ScramblingModeTdesEcb |
Veraltet.
Triple Data Encryption Algorithm (TDES) Electronic Code Book (ECB)-Modus. |
| ScramblingModeTdesScte52 |
Veraltet.
Triple Data Encryption Algorithm (TDES) Society of Cable Telecommunications Engineers (SCTE) 52 Mode. |
| SessionUsageLive |
Veraltet.
Cas-Sitzung wird verwendet, um Livestreams zu descramble. |
| SessionUsagePlayback |
Veraltet.
Cas-Sitzung wird zum Descramble recored streams verwendet. |
| SessionUsageRecord |
Veraltet.
Cas-Sitzung wird verwendet, um Livestreams zu entschlüsseln und lokale aufgezeichnete Inhalte zu verschlüsseln |
| SessionUsageTimeshift |
Veraltet.
Cas-Sitzung wird verwendet, um Livestreams zu entschlüsseln, lokale aufgezeichnete Inhalte zu verschlüsseln und lokale verschlüsselte Inhalte wiederzugeben. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Class |
Gibt die Laufzeitklasse dieses Werts |
| Handle |
Das Handle für die zugrunde liegende Android-Instanz. (Geerbt von Object) |
| JniIdentityHashCode |
Ruft den Identitätshashcode ab, der diesem Java Peer von der Interop-Laufzeit zugewiesen ist. (Geerbt von Object) |
| JniManagedPeerState |
MediaCas kann verwendet werden, um Schlüssel für das Entschlüsseln geschützter Medienströme in Verbindung mit |
| JniPeerMembers |
MediaCas kann verwendet werden, um Schlüssel für das Entschlüsseln geschützter Medienströme in Verbindung mit |
| PeerReference |
Ruft den JNI-Objektverweis für diesen Java Peer ab. (Geerbt von Object) |
| ThresholdClass |
Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. (Geerbt von Object) |
| ThresholdType |
Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. (Geerbt von Object) |
Methoden
| Name | Beschreibung |
|---|---|
| Clone() |
Erstellt und gibt eine Kopie dieses Objekts zurück. (Geerbt von Object) |
| Close() |
Schließt diese Ressource, wobei alle zugrunde liegenden Ressourcen entfernt werden. |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
MediaCas kann verwendet werden, um Schlüssel für das Entschlüsseln geschützter Medienströme in Verbindung mit |
| Dispose() |
Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden. (Geerbt von Object) |
| Dispose(Boolean) |
Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden. (Geerbt von Object) |
| DisposeUnlessReferenced() |
MediaCas kann verwendet werden, um Schlüssel für das Entschlüsseln geschützter Medienströme in Verbindung mit |
| EnumeratePlugins() |
Auflisten aller verfügbaren CA-Plug-Ins auf dem Gerät. |
| Equals(Object) |
MediaCas kann verwendet werden, um Schlüssel für das Entschlüsseln geschützter Medienströme in Verbindung mit |
| Equals(Object) |
Gibt an, ob ein anderes Objekt "gleich" diesem Objekt ist. (Geerbt von Object) |
| GetHashCode() |
Gibt einen Hashcodewert für das Objekt zurück. (Geerbt von Object) |
| IsSystemIdSupported(Int32) |
Abfrage, ob ein bestimmtes Zertifizierungsstellensystem auf diesem Gerät unterstützt wird. |
| JavaFinalize() |
Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection bestimmt, dass keine weiteren Verweise auf das Objekt vorhanden sind. (Geerbt von Object) |
| Notify() |
Aktiviert einen einzelnen Thread, der auf dem Monitor dieses Objekts wartet. (Geerbt von Object) |
| NotifyAll() |
Aktiviert alle Threads, die auf dem Monitor dieses Objekts warten. (Geerbt von Object) |
| OpenSession() |
Öffnen Sie eine Sitzung, um einen oder mehrere Datenströme vom System für bedingten Zugriff zu entwischen. |
| OpenSession(Int32, Int32) |
Öffnen Sie eine Sitzung, um einen oder mehrere Datenströme vom System für bedingten Zugriff zu entwischen. |
| ProcessEmm(Byte[], Int32, Int32) |
Senden Sie ein empfangenes EMM-Paket an das Zertifizierungsstellensystem. |
| ProcessEmm(Byte[]) |
Senden Sie ein empfangenes EMM-Paket an das Zertifizierungsstellensystem. |
| Provision(String) |
Initiieren eines Bereitstellungsvorgangs für ein Zertifizierungsstellensystem. |
| RefreshEntitlements(Int32, Byte[]) |
Benachrichtigen Sie das Zertifizierungsstellensystem, um Berechtigungsschlüssel zu aktualisieren. |
| SendEvent(Int32, Int32, Byte[]) |
Senden eines Ereignisses an ein Zertifizierungsstellensystem. |
| SetEventListener(MediaCas+IEventListener, Handler) |
Legen Sie einen Ereignislistener fest, um Benachrichtigungen von der MediaCas-Instanz zu empfangen. |
| SetHandle(IntPtr, JniHandleOwnership) |
Legt die Handle-Eigenschaft fest. (Geerbt von Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
MediaCas kann verwendet werden, um Schlüssel für das Entschlüsseln geschützter Medienströme in Verbindung mit |
| SetPrivateData(Byte[]) |
Senden Sie die privaten Daten für das Zertifizierungsstellensystem. |
| ToArray<T>() |
Erstellt ein verwaltetes Array aus diesem Java Arraywrapper. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolgendarstellung des Objekts zurück. (Geerbt von Object) |
| UnregisterFromRuntime() |
Hebt die Registrierung dieses Java Peers aus der Interop-Laufzeit auf. (Geerbt von Object) |
| Wait() |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch em benachrichtigt/em< oder >em<unterbrochen>/em<.><> (Geerbt von Object) |
| Wait(Int64, Int32) |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
| Wait(Int64) |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| IJavaPeerable.Disposed() |
MediaCas kann verwendet werden, um Schlüssel für das Entschlüsseln geschützter Medienströme in Verbindung mit |
| IJavaPeerable.Finalized() |
MediaCas kann verwendet werden, um Schlüssel für das Entschlüsseln geschützter Medienströme in Verbindung mit |
| IJavaPeerable.JniObjectReferenceControlBlock |
MediaCas kann verwendet werden, um Schlüssel für das Entschlüsseln geschützter Medienströme in Verbindung mit |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
MediaCas kann verwendet werden, um Schlüssel für das Entschlüsseln geschützter Medienströme in Verbindung mit |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
MediaCas kann verwendet werden, um Schlüssel für das Entschlüsseln geschützter Medienströme in Verbindung mit |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
MediaCas kann verwendet werden, um Schlüssel für das Entschlüsseln geschützter Medienströme in Verbindung mit |
| IJavaPeerable.UnregisterFromRuntime() |
MediaCas kann verwendet werden, um Schlüssel für das Entschlüsseln geschützter Medienströme in Verbindung mit |
Erweiterungsmethoden
| Name | Beschreibung |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Ruft den JNI-Namen des Typs der Instanz |
| JavaAs<TResult>(IJavaPeerable) |
Versuchen Sie, die Eingabe |
| JavaCast<TResult>(IJavaObject) |
Führt eine android-laufzeitgecheckte Typkonvertierung aus. |
| JavaCast<TResult>(IJavaObject) |
MediaCas kann verwendet werden, um Schlüssel für das Entschlüsseln geschützter Medienströme in Verbindung mit |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Versuchen Sie, die Eingabe |