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 Decrambling geschützter Mediendatenströme in Verbindung mit android.media.MediaDescrambler
abzurufen.
[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
- Vererbung
- Attribute
- Implementiert
Hinweise
MediaCas kann verwendet werden, um Schlüssel für das Decrambling geschützter Mediendatenströme in Verbindung mit android.media.MediaDescrambler
abzurufen. Die MediaCas-APIs sind so konzipiert, dass sie den bedingten Zugriff unterstützen, z. B. die in iso/IEC13818-1. Das Zertifizierungsstellensystem wird durch eine 16-Bit-ganzzahlige CA_system_id identifiziert. Die Scramblingalgorithmen sind in der Regel proprietär und werden von anbieterspezifischen CA-Plug-Ins implementiert, die auf dem Gerät installiert sind.
Die App ist für die Erstellung eines MediaCas-Objekts für das zu verwendende Zertifizierungsstellensystem verantwortlich. Die App kann mithilfe der statischen Methode #isSystemIdSupported
abfragen, ob ein bestimmtes Zertifizierungsstellensystem unterstützt wird. Es kann auch die gesamte Liste der unterstützten Zertifizierungsstellensysteme mit der statischen Methode #enumeratePlugins
abrufen.
Nachdem das MediaCas-Objekt erstellt wurde, sollte es von der App ordnungsgemäß mit der -Methode #provision
und/oder #processEmm
bereitgestellt werden. Die EMMs (Berechtigungsverwaltungsnachrichten) können out-of-band oder in-band mit dem Stream verteilt werden.
Um elementare Datenströme zu entschlüsseln, ruft #openSession
die App zuerst auf, um ein Session
Objekt zu generieren, das eine Sitzung eindeutig identifiziert. Eine Sitzung stellt einen Kontext für nachfolgende Schlüsselupdates und Decrambling-Aktivitäten bereit. Die ECMs (Entitlement Control Messages) werden über die -Methode Session#processEcm
an die Sitzung gesendet.
Die App erstellt als Nächstes ein MediaDescrambler-Objekt und initialisiert es mit der Sitzung mithilfe von MediaDescrambler#setMediaCasSession
. Dadurch wird der Descrambler mit der Sitzung verbunden, und der Descrambler kann dann zum Descramble von Inhalten verwendet werden, die mit dem Sitzungsschlüssel gesichert sind, 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 Proben in klare Puffer zu descrampeln (wenn die Lizenz der Sitzung keine sicheren Decoder erfordert) oder eine kleine Datenmenge zu descramieren, um Informationen abzurufen, die für die Verarbeitung des Beispiels durch die Downstreampipeline erforderlich sind (wenn die Lizenz der Sitzung sichere Decoder erfordert).
Wenn die Sitzung einen sicheren Decoder erfordert, muss mediaDescrambler für MediaCodec bereitgestellt werden, um Beispiele in der Warteschlange in geschützte Puffer zu descramblen MediaCodec#queueSecureInputBuffer
. Die App sollte anstelle der normalen MediaCodec#configure(MediaFormat, android.view.Surface, MediaCrypto, int)
Methode zum Konfigurieren von MediaCodec verwendenMediaCodec#configure(MediaFormat, android.view.Surface, int, MediaDescrambler)
.
<h3>Verwenden von MediaExtractor</h3 von Android>
Wenn die App verwendet MediaExtractor
, kann sie die Cas-Sitzungsverwaltung an MediaExtractor delegieren, indem sie aufruft MediaExtractor#setMediaCas
. MediaExtractor übernimmt und ruft #openSession
, #processEmm
und/oder Session#processEcm
usw. auf. falls erforderlich.
Bei Verwendung MediaExtractor
von benötigt die App weiterhin einen MediaDescrambler für die Verwendung mit MediaCodec
, wenn die Lizenzierung einen sicheren Decoder erfordert. Die Sitzung, die dem Descrambler eines Titels zugeordnet ist, kann durch Aufrufen MediaExtractor#getCasInfo
von abgerufen und verwendet werden, um ein MediaDescrambler-Objekt für MediaCodec zu initialisieren.
<h3-Listener></h3>
Die App kann mithilfe der -Methode #setEventListener
einen Listener registrieren, um Ereignisse vom Zertifizierungsstellensystem zu 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, die auf Arbeiten basieren, die vom Android Open Source Project erstellt und freigegeben wurden und gemäß den In Attribution License beschriebenen Begriffen verwendet werden.
Konstruktoren
MediaCas(Context, Int32, String, Int32) |
Instanziieren Sie ein Zertifizierungsstellensystem mit der angegebenen System-ID. |
MediaCas(Context, Int32, String, Int32, Handler, MediaCas+IEventListener) |
Instanziieren Sie ein Zertifizierungsstellensystem mit der angegebenen System-ID. |
MediaCas(Int32) |
Instanziieren Sie ein Zertifizierungsstellensystem mit der angegebenen System-ID. |
Felder
PluginStatusPhysicalModuleChanged |
Veraltet.
Das Ereignis, das angibt, dass die 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-Modus (CBC). |
ScramblingModeAesEcb |
Veraltet.
Advanced Encryption System (AES) Electronic Code Book(ECB)-Modus. |
ScramblingModeAesScte52 |
Veraltet.
Advanced Encryption System (AES) Society of Cable Telecommunications Engineers (SCTE) 52-Modus. |
ScramblingModeDvbCissaV1 |
Veraltet.
DVB Common IPTV Software-oriented 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 vollständig 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.
Reservierter DVB-Modus (Digital Video Broadcasting). |
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-Modus. |
SessionUsageLive |
Veraltet.
Die Cas-Sitzung wird verwendet, um Livestreams zu descramble. |
SessionUsagePlayback |
Veraltet.
Cas-Sitzung wird verwendet, um korrigierte Streams zu descramble. |
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, lokal aufgezeichnete Inhalte zu verschlüsseln und lokal verschlüsselte Inhalte wiederzugeben. |
Eigenschaften
Class |
Gibt die Laufzeitklasse dieses |
Handle |
Das Handle für die zugrunde liegende Android-instance. (Geerbt von Object) |
JniIdentityHashCode |
MediaCas kann verwendet werden, um Schlüssel für das Decrambling geschützter Mediendatenströme in Verbindung mit |
JniPeerMembers |
MediaCas kann verwendet werden, um Schlüssel für das Decrambling geschützter Mediendatenströme in Verbindung mit |
PeerReference |
MediaCas kann verwendet werden, um Schlüssel für das Decrambling geschützter Mediendatenströme in Verbindung mit |
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
Clone() |
Erstellt und gibt eine Kopie dieses Objekts zurück. (Geerbt von Object) |
Close() |
MediaCas kann verwendet werden, um Schlüssel für das Decrambling geschützter Mediendatenströme in Verbindung mit |
Dispose() |
MediaCas kann verwendet werden, um Schlüssel für das Decrambling geschützter Mediendatenströme in Verbindung mit |
Dispose(Boolean) |
MediaCas kann verwendet werden, um Schlüssel für das Decrambling geschützter Mediendatenströme in Verbindung mit |
EnumeratePlugins() |
Listet alle verfügbaren Zertifizierungsstellen-Plug-Ins auf dem Gerät auf. |
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) |
Fragen Sie ab, 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 feststellt, dass keine Verweise mehr auf das Objekt vorhanden sind. (Geerbt von Object) |
Notify() |
Aktiviert einen einzelnen Thread, der auf den Monitor dieses Objekts wartet. (Geerbt von Object) |
NotifyAll() |
Aktiviert alle Threads, die auf den Monitor dieses Objekts warten. (Geerbt von Object) |
OpenSession() |
Öffnen Sie eine Sitzung, um einen oder mehrere Datenströme zu descramblieren, die vom System für bedingten Zugriff verschlüsselt wurden. |
OpenSession(Int32, Int32) |
Öffnen Sie eine Sitzung, um einen oder mehrere Datenströme zu descramblieren, die vom System für bedingten Zugriff verschlüsselt wurden. |
ProcessEmm(Byte[]) |
Senden sie ein empfangenes EMM-Paket an das Zertifizierungsstellensystem. |
ProcessEmm(Byte[], Int32, Int32) |
Senden sie ein empfangenes EMM-Paket an das Zertifizierungsstellensystem. |
Provision(String) |
Initiieren Sie einen Bereitstellungsvorgang 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 vom MediaCas-instance zu empfangen. |
SetHandle(IntPtr, JniHandleOwnership) |
Legt die Handle-Eigenschaft fest. (Geerbt von Object) |
SetPrivateData(Byte[]) |
Senden Sie die privaten Daten für das Zertifizierungsstellensystem. |
ToArray<T>() |
MediaCas kann verwendet werden, um Schlüssel für das Decrambling geschützter Mediendatenströme in Verbindung mit |
ToString() |
Gibt eine Zeichenfolgendarstellung des Objekts zurück. (Geerbt von Object) |
UnregisterFromRuntime() |
MediaCas kann verwendet werden, um Schlüssel für das Decrambling geschützter Mediendatenströme in Verbindung mit |
Wait() |
Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert ist, in der Regel durch <>Benachrichtigung</em> oder <em>interrupted</em>. (Geerbt von Object) |
Wait(Int64) |
Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert ist, in der Regel durch>< Benachrichtigung</em> oder <em>interrupted</em>, oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
Wait(Int64, Int32) |
Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert ist, in der Regel durch>< Benachrichtigung</em> oder <em>interrupted</em>, oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
IJavaPeerable.Disposed() |
MediaCas kann verwendet werden, um Schlüssel für das Decrambling geschützter Mediendatenströme in Verbindung mit |
IJavaPeerable.DisposeUnlessReferenced() |
MediaCas kann verwendet werden, um Schlüssel für das Decrambling geschützter Mediendatenströme in Verbindung mit |
IJavaPeerable.Finalized() |
MediaCas kann verwendet werden, um Schlüssel für das Decrambling geschützter Mediendatenströme in Verbindung mit |
IJavaPeerable.JniManagedPeerState |
MediaCas kann verwendet werden, um Schlüssel für das Decrambling geschützter Mediendatenströme in Verbindung mit |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
MediaCas kann verwendet werden, um Schlüssel für das Decrambling geschützter Mediendatenströme in Verbindung mit |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
MediaCas kann verwendet werden, um Schlüssel für das Decrambling geschützter Mediendatenströme in Verbindung mit |
IJavaPeerable.SetPeerReference(JniObjectReference) |
MediaCas kann verwendet werden, um Schlüssel für das Decrambling geschützter Mediendatenströme in Verbindung mit |
Erweiterungsmethoden
JavaCast<TResult>(IJavaObject) |
Führt eine Typkonvertierung mit Überprüfung der Android-Laufzeit aus. |
JavaCast<TResult>(IJavaObject) |
MediaCas kann verwendet werden, um Schlüssel für das Decrambling geschützter Mediendatenströme in Verbindung mit |
GetJniTypeName(IJavaPeerable) |
MediaCas kann verwendet werden, um Schlüssel für das Decrambling geschützter Mediendatenströme in Verbindung mit |