Compartilhar via


MediaCas Classe

Definição

MediaCas pode ser usado para obter chaves para desembaralhar fluxos de mídia protegidos, em conjunto com android.media.MediaDescramblero .

[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
Herança
MediaCas
Atributos
Implementações

Comentários

MediaCas pode ser usado para obter chaves para desembaralhar fluxos de mídia protegidos, em conjunto com android.media.MediaDescramblero . As APIs MediaCas são projetadas para oferecer suporte a acesso condicional, como as do ISO/IEC13818-1. O sistema de AC é identificado por um CA_system_id inteiro de 16 bits. Os algoritmos de embaralhamento são geralmente proprietários e implementados por plug-ins de CA específicos do fornecedor instalados no dispositivo.

O aplicativo é responsável por construir um objeto MediaCas para o sistema de CA que pretende usar. O aplicativo pode consultar se um determinado sistema de autoridade de certificação é suportado usando o método #isSystemIdSupportedestático. Ele também pode obter toda a lista de sistemas CA suportados usando o método #enumeratePluginsestático.

Depois que o objeto MediaCas é construído, o aplicativo deve provisioná-lo corretamente usando 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 desembaralhar 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 descodificação. Os ECMs (mensagens de controle de direitos) são enviados para a sessão pelo 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 então ser usado para desembaralhar o conteúdo protegido com a chave da sessão, durante a extração ou durante a decodificação com android.media.MediaCodeco .

Se o aplicativo manipular a extração de amostra usando seu próprio extrator, ele poderá usar MediaDescrambler para desembaralhar amostras em buffers transparentes (se a licença da sessão não exigir decodificadores seguros) ou desembaralhar uma pequena quantidade de dados para recuperar informações necessárias para o pipeline downstream processar a amostra (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 desembaralhar 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 usar MediaExtractoro , ele poderá delegar o gerenciamento de sessão do CAS ao MediaExtractor chamando MediaExtractor#setMediaCas. MediaExtractor assumirá e chamará #openSession, #processEmm e/ou Session#processEcm, etc. se necessário.

Ao usar MediaExtractoro , 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#getCasInfo, e usada para inicializar um objeto MediaDescrambler para MediaCodec.

<h3>Ouvintes</h3>

O aplicativo pode registrar um ouvinte para receber eventos do sistema CA usando o método #setEventListener. O formato exato do evento é específico do esquema e não é especificado por essa API.

Documentação Java para android.media.MediaCas.

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Construtores

MediaCas(Context, Int32, String, Int32)

Instancie um sistema de autoridade de certificação da ID do sistema especificado.

MediaCas(Context, Int32, String, Int32, Handler, MediaCas+IEventListener)

Instancie um sistema de autoridade de certificação da ID do sistema especificado.

MediaCas(Int32)

Instancie um sistema de autoridade de certificação da ID do sistema especificado.

Campos

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 AES (Advanced Encryption System) de 128 bits.

ScramblingModeAesCbc
Obsoleto.

Modo de encadeamento de blocos de codificação (CBC) do Advanced Encryption System (AES).

ScramblingModeAesEcb
Obsoleto.

Modo AES (Advanced Encryption System) do Livro de Códigos Eletrónico (BCE).

ScramblingModeAesScte52
Obsoleto.

Advanced Encryption System (AES) Society of Cable Telecommunications Engineers (SCTE) modo 52.

ScramblingModeDvbCissaV1
Obsoleto.

DVB Common IPTV Software-oriented Scrambling Algorithm (CISSA) Versão 1.

ScramblingModeDvbCsa1
Obsoleto.

DVB (Digital Video Broadcasting) Algoritmo de embaralhamento 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 melhorado.

ScramblingModeDvbCsa3Standard
Obsoleto.

DVB CSA 3 no modo padrão.

ScramblingModeDvbIdsa
Obsoleto.

ATIS-0800006 Algoritmo de embaralhamento padrão IIF (IDSA).

ScramblingModeMulti2
Obsoleto.

Um algoritmo de chave simétrica.

ScramblingModeReserved
Obsoleto.

DVB (Digital Video Broadcasting) modo reservado.

ScramblingModeTdesEcb
Obsoleto.

Modo Triple Data Encryption Algorithm (TDES) Electronic Code Book (ECB).

ScramblingModeTdesScte52
Obsoleto.

Triple Data Encryption Algorithm (TDES) Society of Cable Telecommunications Engineers (SCTE) modo 52.

SessionUsageLive
Obsoleto.

Cas session é usado para desembaralhar transmissões ao vivo.

SessionUsagePlayback
Obsoleto.

A sessão Cas é usada para desembaralhar fluxos recorededed.

SessionUsageRecord
Obsoleto.

A sessão Cas é usada para desembaralhar transmissões ao vivo e criptografar conteúdo gravado local

SessionUsageTimeshift
Obsoleto.

A sessão Cas é usada para desembaralhar transmissões ao vivo, criptografar conteúdo gravado local e reproduzir conteúdo criptografado local.

Propriedades

Class

Retorna a classe de tempo de execução deste Object.

(Herdado de Object)
Handle

O identificador para a instância subjacente do Android.

(Herdado de Object)
JniIdentityHashCode

MediaCas pode ser usado para obter chaves para desembaralhar fluxos de mídia protegidos, em conjunto com android.media.MediaDescramblero .

(Herdado de Object)
JniPeerMembers

MediaCas pode ser usado para obter chaves para desembaralhar fluxos de mídia protegidos, em conjunto com android.media.MediaDescramblero .

PeerReference

MediaCas pode ser usado para obter chaves para desembaralhar fluxos de mídia protegidos, em conjunto com android.media.MediaDescramblero .

(Herdado de Object)
ThresholdClass

Esta API suporta a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código.

(Herdado de Object)
ThresholdType

Esta API suporta a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código.

(Herdado de Object)

Métodos

Clone()

Cria e retorna uma cópia desse objeto.

(Herdado de Object)
Close()

MediaCas pode ser usado para obter chaves para desembaralhar fluxos de mídia protegidos, em conjunto com android.media.MediaDescramblero .

Dispose()

MediaCas pode ser usado para obter chaves para desembaralhar fluxos de mídia protegidos, em conjunto com android.media.MediaDescramblero .

(Herdado de Object)
Dispose(Boolean)

MediaCas pode ser usado para obter chaves para desembaralhar fluxos de mídia protegidos, em conjunto com android.media.MediaDescramblero .

(Herdado de Object)
EnumeratePlugins()

Liste todos os plug-ins de CA disponíveis no dispositivo.

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)

Pergunte se um determinado sistema de autoridade de certificação é suportado 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 desembaralhar um ou mais fluxos embaralhados pelo sistema de acesso condicional.

OpenSession(Int32, Int32)

Abra uma sessão para desembaralhar um ou mais fluxos embaralhados pelo sistema de acesso condicional.

ProcessEmm(Byte[])

Envie um pacote EMM recebido para o sistema CA.

ProcessEmm(Byte[], Int32, Int32)

Envie um pacote EMM recebido para o sistema CA.

Provision(String)

Inicie uma operação de provisionamento para um sistema de autoridade de certificação.

RefreshEntitlements(Int32, Byte[])

Notifique o sistema de autoridade de certificação para atualizar as chaves de direito.

SendEvent(Int32, Int32, Byte[])

Enviar um evento para um sistema de autoridade de certificação.

SetEventListener(MediaCas+IEventListener, Handler)

Defina um ouvinte de eventos para receber notificações da instância MediaCas.

SetHandle(IntPtr, JniHandleOwnership)

Define a propriedade Handle.

(Herdado de Object)
SetPrivateData(Byte[])

Envie os dados privados para o sistema de AC.

ToArray<T>()

MediaCas pode ser usado para obter chaves para desembaralhar fluxos de mídia protegidos, em conjunto com android.media.MediaDescramblero .

(Herdado de Object)
ToString()

Retorna uma representação de cadeia de caracteres do objeto.

(Herdado de Object)
UnregisterFromRuntime()

MediaCas pode ser usado para obter chaves para desembaralhar fluxos de mídia protegidos, em conjunto com android.media.MediaDescramblero .

(Herdado de Object)
Wait()

Faz com que o thread atual aguarde até que ele seja ativado, normalmente sendo <em notificado</em> ou <em>interrompido</em>>.

(Herdado de Object)
Wait(Int64)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente sendo <em>notificado</em> ou <em interrompido</em>, ou até que>uma certa quantidade de tempo real tenha decorrido.

(Herdado de Object)
Wait(Int64, Int32)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente sendo <em>notificado</em> ou <em interrompido</em>, ou até que>uma certa quantidade de tempo real tenha decorrido.

(Herdado de Object)

Implantações explícitas de interface

IJavaPeerable.Disposed()

MediaCas pode ser usado para obter chaves para desembaralhar fluxos de mídia protegidos, em conjunto com android.media.MediaDescramblero .

(Herdado de Object)
IJavaPeerable.DisposeUnlessReferenced()

MediaCas pode ser usado para obter chaves para desembaralhar fluxos de mídia protegidos, em conjunto com android.media.MediaDescramblero .

(Herdado de Object)
IJavaPeerable.Finalized()

MediaCas pode ser usado para obter chaves para desembaralhar fluxos de mídia protegidos, em conjunto com android.media.MediaDescramblero .

(Herdado de Object)
IJavaPeerable.JniManagedPeerState

MediaCas pode ser usado para obter chaves para desembaralhar fluxos de mídia protegidos, em conjunto com android.media.MediaDescramblero .

(Herdado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

MediaCas pode ser usado para obter chaves para desembaralhar fluxos de mídia protegidos, em conjunto com android.media.MediaDescramblero .

(Herdado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

MediaCas pode ser usado para obter chaves para desembaralhar fluxos de mídia protegidos, em conjunto com android.media.MediaDescramblero .

(Herdado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

MediaCas pode ser usado para obter chaves para desembaralhar fluxos de mídia protegidos, em conjunto com android.media.MediaDescramblero .

(Herdado de Object)

Métodos de Extensão

JavaCast<TResult>(IJavaObject)

Executa uma conversão de tipo verificada em tempo de execução do Android.

JavaCast<TResult>(IJavaObject)

MediaCas pode ser usado para obter chaves para desembaralhar fluxos de mídia protegidos, em conjunto com android.media.MediaDescramblero .

GetJniTypeName(IJavaPeerable)

MediaCas pode ser usado para obter chaves para desembaralhar fluxos de mídia protegidos, em conjunto com android.media.MediaDescramblero .

Aplica-se a