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.
MediaCas pode ser usado para obter chaves para desembaralhar fluxos de mídia protegidos, em conjunto com android.media.MediaDescrambler
o .
[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
- Atributos
- Implementações
Comentários
MediaCas pode ser usado para obter chaves para desembaralhar fluxos de mídia protegidos, em conjunto com android.media.MediaDescrambler
o . 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 #isSystemIdSupported
estático. Ele também pode obter toda a lista de sistemas CA suportados usando o método #enumeratePlugins
está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.MediaCodec
o .
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 MediaExtractor
o , 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 MediaExtractor
o , 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, Handler, MediaCas+IEventListener) |
Instancie um sistema de autoridade de certificação da ID do sistema especificado. |
MediaCas(Context, Int32, String, Int32) |
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 |
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 |
JniPeerMembers |
MediaCas pode ser usado para obter chaves para desembaralhar fluxos de mídia protegidos, em conjunto com |
PeerReference |
MediaCas pode ser usado para obter chaves para desembaralhar fluxos de mídia protegidos, em conjunto com |
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 |
Dispose() |
MediaCas pode ser usado para obter chaves para desembaralhar fluxos de mídia protegidos, em conjunto com |
Dispose(Boolean) |
MediaCas pode ser usado para obter chaves para desembaralhar fluxos de mídia protegidos, em conjunto com |
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[], Int32, Int32) |
Envie um pacote EMM recebido para o sistema CA. |
ProcessEmm(Byte[]) |
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 |
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 |
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, 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) |
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) |
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 |
IJavaPeerable.DisposeUnlessReferenced() |
MediaCas pode ser usado para obter chaves para desembaralhar fluxos de mídia protegidos, em conjunto com |
IJavaPeerable.Finalized() |
MediaCas pode ser usado para obter chaves para desembaralhar fluxos de mídia protegidos, em conjunto com |
IJavaPeerable.JniManagedPeerState |
MediaCas pode ser usado para obter chaves para desembaralhar fluxos de mídia protegidos, em conjunto com |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
MediaCas pode ser usado para obter chaves para desembaralhar fluxos de mídia protegidos, em conjunto com |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
MediaCas pode ser usado para obter chaves para desembaralhar fluxos de mídia protegidos, em conjunto com |
IJavaPeerable.SetPeerReference(JniObjectReference) |
MediaCas pode ser usado para obter chaves para desembaralhar fluxos de mídia protegidos, em conjunto com |
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 |
GetJniTypeName(IJavaPeerable) |
MediaCas pode ser usado para obter chaves para desembaralhar fluxos de mídia protegidos, em conjunto com |