MediaCas Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
As MediaCas podem ser usadas para obter chaves para descrambling de fluxos de mídia protegidos, em conjunto com 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
- Herança
- Atributos
- Implementações
Comentários
As MediaCas podem ser usadas para obter chaves para descrambling de fluxos de mídia protegidos, em conjunto com android.media.MediaDescrambler. As APIs MediaCas foram projetadas para dar suporte ao acesso condicional, como as do ISO/IEC13818-1. O sistema de AC é identificado por um inteiro de 16 bits CA_system_id. Os algoritmos de codificação geralmente são proprietários e implementados por plug-ins de AC específicos do fornecedor instalados no dispositivo.
O aplicativo é responsável pela construção de um objeto MediaCas para o sistema de AC que ele pretende usar. O aplicativo pode consultar se um determinado sistema de AC tem suporte usando o método #isSystemIdSupportedestático. Ele também pode obter toda a lista de sistemas de AC com suporte usando o método #enumeratePluginsestático.
Depois que o objeto MediaCas for construído, o aplicativo deverá provisioná-lo corretamente usando o método #provision e/ou #processEmm. Os EMMs (mensagens de gerenciamento de direitos) podem ser distribuídos fora de banda ou em banda com o fluxo.
Para desajustar fluxos elementares, o aplicativo primeiro chama #openSession para gerar um Session objeto que identificará exclusivamente uma sessão. Uma sessão fornece um contexto para atualizações de chave subsequentes e atividades de descrambling. Os ECMs (mensagens de controle de direito) são enviados para a sessão por meio do método Session#processEcm.
Em seguida, o aplicativo constrói um objeto MediaDescrambler e o inicializa com a sessão usando MediaDescrambler#setMediaCasSession. Isso vincula o descrambler à sessão e o descrambler pode ser usado para descramble content protegido com a chave da sessão, durante a extração ou durante a decodificação com android.media.MediaCodec.
Se o aplicativo manipular a extração de exemplo usando seu próprio extrator, ele poderá usar o MediaDescrambler para desembolsar amostras em buffers claros (se a licença da sessão não exigir decodificadores seguros) ou descodificar uma pequena quantidade de dados para recuperar informações necessárias para o pipeline downstream processar o exemplo (se a licença da sessão exigir decodificadores seguros).
Se a sessão exigir um decodificador seguro, um MediaDescrambler precisará ser fornecido ao MediaCodec para descodificar amostras enfileiradas em MediaCodec#queueSecureInputBuffer buffers protegidos. O aplicativo deve usar MediaCodec#configure(MediaFormat, android.view.Surface, int, MediaDescrambler) em vez do método normal MediaCodec#configure(MediaFormat, android.view.Surface, MediaCrypto, int) para configurar o MediaCodec.
<h3>Usando o MediaExtractor</h3 do Android>
Se o aplicativo for usado MediaExtractor, ele poderá delegar o gerenciamento de sessão CAS ao MediaExtractor chamando MediaExtractor#setMediaCas. MediaExtractor assumirá e chamará #openSession, #processEmm e/ou Session#processEcm, etc.. Se necessário.
Ao usar MediaExtractor, o aplicativo ainda precisará de um MediaDescrambler para usar MediaCodec se o licenciamento exigir um decodificador seguro. A sessão associada ao descrambler de uma faixa pode ser recuperada chamando MediaExtractor#getCasInfoe usada para inicializar um objeto MediaDescrambler para MediaCodec.
<Ouvintes> h3</h3>
O aplicativo pode registrar um ouvinte para receber eventos do sistema de AC usando o método #setEventListener. O formato exato do evento é específico do esquema e não é especificado por essa API.
Java documentação para android.media.MediaCas.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.
Construtores
| Nome | Description |
|---|---|
| MediaCas(Context, Int32, String, Int32, Handler, MediaCas+IEventListener) |
Instancie um sistema de AC da ID do sistema especificada. |
| MediaCas(Context, Int32, String, Int32) |
Instancie um sistema de AC da ID do sistema especificada. |
| MediaCas(Int32) |
Instancie um sistema de AC da ID do sistema especificada. |
Campos
| Nome | Description |
|---|---|
| PluginStatusPhysicalModuleChanged |
Obsoleto.
O evento para indicar que o status do sistema CAS é alterado pela remoção ou inserção de módulos CAS físicos. |
| PluginStatusSessionNumberChanged |
Obsoleto.
O evento para indicar que o número de sessão do sistema CAS foi alterado. |
| ScramblingModeAes128 |
Obsoleto.
Modo de criptografia de 128 bits do AES (Sistema de Criptografia Avançada). |
| ScramblingModeAesCbc |
Obsoleto.
Modo CBC (Advanced Encryption System) Cipher Block Chaining (CBC). |
| ScramblingModeAesEcb |
Obsoleto.
Modo ECB (Advanced Encryption System) Electronic Code Book (ECB). |
| ScramblingModeAesScte52 |
Obsoleto.
Sistema de Criptografia Avançada (AES) Sociedade de Engenheiros de Telecomunicações de Cabo (SCTE) 52 modo. |
| ScramblingModeDvbCissaV1 |
Obsoleto.
DvB Common IPTV Software-oriented Scrambling Algorithm (CISSA) Versão 1. |
| ScramblingModeDvbCsa1 |
Obsoleto.
DVB (Transmissão de Vídeo Digital) Algoritmo de Codificação Comum (CSA) 1. |
| ScramblingModeDvbCsa2 |
Obsoleto.
DVB CSA 2. |
| ScramblingModeDvbCsa3Enhance |
Obsoleto.
DVB CSA 3 no modo totalmente aprimorado. |
| ScramblingModeDvbCsa3Minimal |
Obsoleto.
DVB CSA 3 no modo minimamente aprimorado. |
| ScramblingModeDvbCsa3Standard |
Obsoleto.
DVB CSA 3 no modo padrão. |
| ScramblingModeDvbIdsa |
Obsoleto.
Algoritmo de codificação padrão IIF do ATIS-0800006 IIF (IDSA). |
| ScramblingModeMulti2 |
Obsoleto.
Um algoritmo de chave simétrica. |
| ScramblingModeReserved |
Obsoleto.
Modo reservado DVB (Transmissão de Vídeo Digital). |
| ScramblingModeTdesEcb |
Obsoleto.
Modo DE BCE (Triple Data Encryption Algorithm) Electronic Code Book (TDES). |
| ScramblingModeTdesScte52 |
Obsoleto.
TDES (Algoritmo de Criptografia de Dados Triplo) Sociedade de Engenheiros de Telecomunicações de Cabo (SCTE) 52 modo. |
| SessionUsageLive |
Obsoleto.
A sessão cas é usada para desembolsar transmissões ao vivo. |
| SessionUsagePlayback |
Obsoleto.
A sessão cas é usada para descorar fluxos recorados. |
| SessionUsageRecord |
Obsoleto.
A sessão cas é usada para desembolsar transmissões ao vivo e criptografar conteúdo registrado local |
| SessionUsageTimeshift |
Obsoleto.
A sessão cas é usada para desembolsar transmissões ao vivo, criptografar conteúdo gravado local e reproduzir conteúdo criptografado local. |
Propriedades
| Nome | Description |
|---|---|
| Class |
Retorna a classe de runtime deste |
| Handle |
O identificador para a instância subjacente do Android. (Herdado de Object) |
| JniIdentityHashCode |
Obtém o código de hash de identidade atribuído a esse par Java pelo runtime de interoperabilidade. (Herdado de Object) |
| JniManagedPeerState |
As MediaCas podem ser usadas para obter chaves para descrambling de fluxos de mídia protegidos, em conjunto com |
| JniPeerMembers |
As MediaCas podem ser usadas para obter chaves para descrambling de fluxos de mídia protegidos, em conjunto com |
| PeerReference |
Obtém a referência de objeto JNI para este par Java. (Herdado de Object) |
| ThresholdClass |
Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código. (Herdado de Object) |
| ThresholdType |
Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código. (Herdado de Object) |
Métodos
| Nome | Description |
|---|---|
| Clone() |
Cria e retorna uma cópia desse objeto. (Herdado de Object) |
| Close() |
Fecha esse recurso, renunciando a todos os recursos subjacentes. |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
As MediaCas podem ser usadas para obter chaves para descrambling de fluxos de mídia protegidos, em conjunto com |
| Dispose() |
Libera os recursos mantidos por esse par Java. (Herdado de Object) |
| Dispose(Boolean) |
Libera os recursos mantidos por esse par Java. (Herdado de Object) |
| DisposeUnlessReferenced() |
As MediaCas podem ser usadas para obter chaves para descrambling de fluxos de mídia protegidos, em conjunto com |
| EnumeratePlugins() |
Liste todos os plug-ins de AC disponíveis no dispositivo. |
| Equals(Object) |
As MediaCas podem ser usadas para obter chaves para descrambling de fluxos de mídia protegidos, em conjunto com |
| Equals(Object) |
Indica se algum outro objeto é "igual a" este. (Herdado de Object) |
| GetHashCode() |
Retorna um valor de código hash para o objeto. (Herdado de Object) |
| IsSystemIdSupported(Int32) |
Consulte se um determinado sistema de AC tem suporte neste dispositivo. |
| JavaFinalize() |
Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto. (Herdado de Object) |
| Notify() |
Ativa um único thread que está aguardando no monitor deste objeto. (Herdado de Object) |
| NotifyAll() |
Ativa todos os threads que estão aguardando no monitor deste objeto. (Herdado de Object) |
| OpenSession() |
Abra uma sessão para desembaratar um ou mais fluxos embaralhados pelo sistema de acesso condicional. |
| OpenSession(Int32, Int32) |
Abra uma sessão para desembaratar um ou mais fluxos embaralhados pelo sistema de acesso condicional. |
| ProcessEmm(Byte[], Int32, Int32) |
Envie um pacote EMM recebido para o sistema de AC. |
| ProcessEmm(Byte[]) |
Envie um pacote EMM recebido para o sistema de AC. |
| Provision(String) |
Inicie uma operação de provisionamento para um sistema de AC. |
| RefreshEntitlements(Int32, Byte[]) |
Notifique o sistema de AC para atualizar as chaves de direito. |
| SendEvent(Int32, Int32, Byte[]) |
Enviar um evento para um sistema de AC. |
| SetEventListener(MediaCas+IEventListener, Handler) |
Defina um ouvinte de eventos para receber notificações da instância do MediaCas. |
| SetHandle(IntPtr, JniHandleOwnership) |
Define a propriedade Handle (Herdado de Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
As MediaCas podem ser usadas para obter chaves para descrambling de fluxos de mídia protegidos, em conjunto com |
| SetPrivateData(Byte[]) |
Envie os dados privados para o sistema de AC. |
| ToArray<T>() |
Cria uma matriz gerenciada com base nesse wrapper de matriz Java. (Herdado de Object) |
| ToString() |
Retorna uma representação de cadeia de caracteres do objeto. (Herdado de Object) |
| UnregisterFromRuntime() |
Cancela o registro desse par Java do runtime de interoperabilidade. (Herdado de Object) |
| Wait() |
Faz com que o thread atual aguarde até ser despertado, normalmente por ser <notificado/em> ou <em>interrompido</em>.<> (Herdado de Object) |
| Wait(Int64, Int32) |
Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido. (Herdado de Object) |
| Wait(Int64) |
Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido. (Herdado de Object) |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| IJavaPeerable.Disposed() |
As MediaCas podem ser usadas para obter chaves para descrambling de fluxos de mídia protegidos, em conjunto com |
| IJavaPeerable.Finalized() |
As MediaCas podem ser usadas para obter chaves para descrambling de fluxos de mídia protegidos, em conjunto com |
| IJavaPeerable.JniObjectReferenceControlBlock |
As MediaCas podem ser usadas para obter chaves para descrambling de fluxos de mídia protegidos, em conjunto com |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
As MediaCas podem ser usadas para obter chaves para descrambling de fluxos de mídia protegidos, em conjunto com |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
As MediaCas podem ser usadas para obter chaves para descrambling de fluxos de mídia protegidos, em conjunto com |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
As MediaCas podem ser usadas para obter chaves para descrambling de fluxos de mídia protegidos, em conjunto com |
| IJavaPeerable.UnregisterFromRuntime() |
As MediaCas podem ser usadas para obter chaves para descrambling de fluxos de mídia protegidos, em conjunto com |
Métodos de Extensão
| Nome | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtém o nome JNI do tipo da instância |
| JavaAs<TResult>(IJavaPeerable) |
Tente coagir a digitar |
| JavaCast<TResult>(IJavaObject) |
Executa uma conversão de tipo marcada por runtime do Android. |
| JavaCast<TResult>(IJavaObject) |
As MediaCas podem ser usadas para obter chaves para descrambling de fluxos de mídia protegidos, em conjunto com |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Tente coagir a digitar |