MediaCas Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
È possibile usare MediaCas per ottenere chiavi per descramtare i flussi multimediali protetti, insieme a 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
- Ereditarietà
- Attributi
- Implementazioni
Commenti
È possibile usare MediaCas per ottenere chiavi per descramtare i flussi multimediali protetti, insieme a android.media.MediaDescrambler
. Le API MediaCas sono progettate per supportare l'accesso condizionale, ad esempio quelli in ISO/IEC13818-1. Il sistema CA è identificato da un intero a 16 bit CA_system_id. Gli algoritmi di sramrambling sono in genere proprietari e implementati dai plug-in ca specifici del fornitore installati nel dispositivo.
L'app è responsabile della costruzione di un oggetto MediaCas per il sistema CA che intende usare. L'app può eseguire query se un determinato sistema CA è supportato usando il metodo #isSystemIdSupported
statico . Può anche ottenere l'intero elenco di sistemi CA supportati usando il metodo #enumeratePlugins
statico .
Dopo aver costruito l'oggetto MediaCas, l'app deve eseguirne correttamente il provisioning usando il metodo #provision
e/o #processEmm
. Gli EMM (messaggi di gestione entitlement) possono essere distribuiti fuori banda o in banda con il flusso.
Per descramble dei flussi elementari, l'app prima chiama #openSession
per generare un Session
oggetto che identificherà in modo univoco una sessione. Una sessione fornisce un contesto per gli aggiornamenti chiave successivi e le attività di descrambling. Gli ECM (messaggi di controllo entitlement) vengono inviati alla sessione tramite il metodo Session#processEcm
.
L'app crea quindi un oggetto MediaDescrambler e lo inizializza con la sessione usando MediaDescrambler#setMediaCasSession
. Questo collega il descrambler alla sessione e il descrambler può quindi essere usato per descramble il contenuto protetto con la chiave della sessione, durante l'estrazione o durante la decodifica con android.media.MediaCodec
.
Se l'app gestisce l'estrazione di campioni usando il proprio estrattore, può usare MediaDescrambler per descrambleare i campioni in buffer non crittografati (se la licenza della sessione non richiede decodificatori sicuri) o rimuovere una piccola quantità di dati per recuperare le informazioni necessarie per la pipeline downstream per elaborare l'esempio (se la licenza della sessione richiede decodificatori sicuri).
Se la sessione richiede un decodificatore sicuro, è necessario fornire un MediaDescrambler a MediaCodec per descramble degli esempi accodati da MediaCodec#queueSecureInputBuffer
in buffer protetti. L'app deve usare MediaCodec#configure(MediaFormat, android.view.Surface, int, MediaDescrambler)
invece del metodo normale MediaCodec#configure(MediaFormat, android.view.Surface, MediaCrypto, int)
per configurare MediaCodec.
<h3>Uso di MediaExtractor</h3 di Android>
Se l'app usa MediaExtractor
, può delegare la gestione della sessione CAS a MediaExtractor chiamando MediaExtractor#setMediaCas
. MediaExtractor assumerà il controllo e chiamerà #openSession
, #processEmm
e/o Session#processEcm
e così via. se necessario.
Quando si usa MediaExtractor
, l'app avrebbe comunque bisogno di un MediaDescrambler da usare con MediaCodec
se la licenza richiede un decodificatore sicuro. La sessione associata al descrambler di una traccia può essere recuperata chiamando MediaExtractor#getCasInfo
e usata per inizializzare un oggetto MediaDescrambler per MediaCodec.
<h3>Listener</h3>
L'app può registrare un listener per ricevere eventi dal sistema ca usando il metodo #setEventListener
. Il formato esatto dell'evento è specifico dello schema e non è specificato da questa API.
Documentazione java per android.media.MediaCas
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
Costruttori
MediaCas(Context, Int32, String, Int32, Handler, MediaCas+IEventListener) |
Creare un'istanza di un sistema CA dell'ID di sistema specificato. |
MediaCas(Context, Int32, String, Int32) |
Creare un'istanza di un sistema CA dell'ID di sistema specificato. |
MediaCas(Int32) |
Creare un'istanza di un sistema CA dell'ID di sistema specificato. |
Campi
PluginStatusPhysicalModuleChanged |
Obsoleti.
Evento per indicare che lo stato del sistema CAS viene modificato dalla rimozione o dall'inserimento di moduli CAS fisici. |
PluginStatusSessionNumberChanged |
Obsoleti.
Evento per indicare che il numero di sessione del sistema CAS viene modificato. |
ScramblingModeAes128 |
Obsoleti.
Modalità crittografia avanzata AES (Advanced Encryption System) a 128 bit. |
ScramblingModeAesCbc |
Obsoleti.
Modalità CBC (Advanced Encryption System) Cipher Block Chaining (AES). |
ScramblingModeAesEcb |
Obsoleti.
Modalità AES (Advanced Encryption System) Electronic Code Book (BCE). |
ScramblingModeAesScte52 |
Obsoleti.
Advanced Encryption System (AES) Society of Cable Telecommunications Engineers (SCTE) modalità 52. |
ScramblingModeDvbCissaV1 |
Obsoleti.
COMMON IPTV Software-oriented Scrambling Algorithm (CISSA) versione 1. |
ScramblingModeDvbCsa1 |
Obsoleti.
CSV (Digital Video Broadcasting) Common Scrambling Algorithm (CSA) 1. |
ScramblingModeDvbCsa2 |
Obsoleti.
CSV CSA 2. |
ScramblingModeDvbCsa3Enhance |
Obsoleti.
CSV CSA 3 in modalità completamente migliorata. |
ScramblingModeDvbCsa3Minimal |
Obsoleti.
CSV CSA 3 in modalità minima avanzata. |
ScramblingModeDvbCsa3Standard |
Obsoleti.
CSV CSA 3 in modalità standard. |
ScramblingModeDvbIdsa |
Obsoleti.
ATIS-0800006 IIF Default Scrambling Algorithm (IDSA). |
ScramblingModeMulti2 |
Obsoleti.
Algoritmo di chiave simmetrica. |
ScramblingModeReserved |
Obsoleti.
MODALITÀ riservata DI DIGITAL Video Broadcasting. |
ScramblingModeTdesEcb |
Obsoleti.
Modalità Triple Data Encryption Algorithm (TDES) Electronic Code Book (BCE). |
ScramblingModeTdesScte52 |
Obsoleti.
Triple Data Encryption Algorithm (TDES) Society of Cable Telecommunications Engineers (SCTE) modalità 52. |
SessionUsageLive |
Obsoleti.
La sessione Cas viene usata per descramble live streams.Cas session is used to descramble live streams. |
SessionUsagePlayback |
Obsoleti.
La sessione Cas viene usata per descramble recored streams.Cas session is used to descramble recored streams. |
SessionUsageRecord |
Obsoleti.
La sessione Cas viene usata per descramble live streams e crittografare il contenuto registrato locale |
SessionUsageTimeshift |
Obsoleti.
La sessione Cas viene usata per descramble live streams , crittografare il contenuto registrato locale e riprodurre contenuto crittografato locale. |
Proprietà
Class |
Restituisce la classe di runtime di questo |
Handle |
Handle per l'istanza di Android sottostante. (Ereditato da Object) |
JniIdentityHashCode |
È possibile usare MediaCas per ottenere chiavi per descramtare i flussi multimediali protetti, insieme a |
JniPeerMembers |
È possibile usare MediaCas per ottenere chiavi per descramtare i flussi multimediali protetti, insieme a |
PeerReference |
È possibile usare MediaCas per ottenere chiavi per descramtare i flussi multimediali protetti, insieme a |
ThresholdClass |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. (Ereditato da Object) |
ThresholdType |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. (Ereditato da Object) |
Metodi
Clone() |
Crea e restituisce una copia di questo oggetto. (Ereditato da Object) |
Close() |
È possibile usare MediaCas per ottenere chiavi per descramtare i flussi multimediali protetti, insieme a |
Dispose() |
È possibile usare MediaCas per ottenere chiavi per descramtare i flussi multimediali protetti, insieme a |
Dispose(Boolean) |
È possibile usare MediaCas per ottenere chiavi per descramtare i flussi multimediali protetti, insieme a |
EnumeratePlugins() |
Elencare tutti i plug-in ca disponibili nel dispositivo. |
Equals(Object) |
Indica se un altro oggetto è "uguale a" questo. (Ereditato da Object) |
GetHashCode() |
Restituisce un valore del codice hash per l'oggetto. (Ereditato da Object) |
IsSystemIdSupported(Int32) |
Eseguire una query se un determinato sistema CA è supportato in questo dispositivo. |
JavaFinalize() |
Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto . (Ereditato da Object) |
Notify() |
Riattiva un singolo thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
NotifyAll() |
Riattiva tutti i thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
OpenSession() |
Aprire una sessione per descramble di uno o più flussi distribuiti dal sistema di accesso condizionale. |
OpenSession(Int32, Int32) |
Aprire una sessione per descramble di uno o più flussi distribuiti dal sistema di accesso condizionale. |
ProcessEmm(Byte[], Int32, Int32) |
Inviare un pacchetto EMM ricevuto al sistema CA. |
ProcessEmm(Byte[]) |
Inviare un pacchetto EMM ricevuto al sistema CA. |
Provision(String) |
Avviare un'operazione di provisioning per un sistema ca. |
RefreshEntitlements(Int32, Byte[]) |
Notificare al sistema della CA di aggiornare le chiavi entitlement. |
SendEvent(Int32, Int32, Byte[]) |
Inviare un evento a un sistema ca. |
SetEventListener(MediaCas+IEventListener, Handler) |
Impostare un listener di eventi per ricevere notifiche dall'istanza di MediaCas. |
SetHandle(IntPtr, JniHandleOwnership) |
Imposta la proprietà Handle. (Ereditato da Object) |
SetPrivateData(Byte[]) |
Inviare i dati privati per il sistema ca. |
ToArray<T>() |
È possibile usare MediaCas per ottenere chiavi per descramtare i flussi multimediali protetti, insieme a |
ToString() |
Restituisce una rappresentazione di stringa dell'oggetto. (Ereditato da Object) |
UnregisterFromRuntime() |
È possibile usare MediaCas per ottenere chiavi per descramtare i flussi multimediali protetti, insieme a |
Wait() |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo <>una notifica</em> o <em>interrotto</em>. (Ereditato da Object) |
Wait(Int64, Int32) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo>< una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
Wait(Int64) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo>< una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
IJavaPeerable.Disposed() |
È possibile usare MediaCas per ottenere chiavi per descramtare i flussi multimediali protetti, insieme a |
IJavaPeerable.DisposeUnlessReferenced() |
È possibile usare MediaCas per ottenere chiavi per descramtare i flussi multimediali protetti, insieme a |
IJavaPeerable.Finalized() |
È possibile usare MediaCas per ottenere chiavi per descramtare i flussi multimediali protetti, insieme a |
IJavaPeerable.JniManagedPeerState |
È possibile usare MediaCas per ottenere chiavi per descramtare i flussi multimediali protetti, insieme a |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
È possibile usare MediaCas per ottenere chiavi per descramtare i flussi multimediali protetti, insieme a |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
È possibile usare MediaCas per ottenere chiavi per descramtare i flussi multimediali protetti, insieme a |
IJavaPeerable.SetPeerReference(JniObjectReference) |
È possibile usare MediaCas per ottenere chiavi per descramtare i flussi multimediali protetti, insieme a |
Metodi di estensione
JavaCast<TResult>(IJavaObject) |
Esegue una conversione del tipo di tipo controllato dal runtime Android. |
JavaCast<TResult>(IJavaObject) |
È possibile usare MediaCas per ottenere chiavi per descramtare i flussi multimediali protetti, insieme a |
GetJniTypeName(IJavaPeerable) |
È possibile usare MediaCas per ottenere chiavi per descramtare i flussi multimediali protetti, insieme a |