meios de comunicação

Os módulos de mídia lidam com tipos de mídia e codecs, interagem com o ExoPlayer, expõem controles de transporte e informações de reprodução para a estrutura, otimizam metadados indexados e outras funções relacionadas à mídia. Os módulos são atualizáveis, o que significa que podem receber atualizações de funcionalidades fora do ciclo normal de lançamento do Android.

Os componentes de mídia são um alvo frequente de ataques (muitos bugs de segurança recentes estão relacionados à mídia), portanto, reforçar a segurança acelerando as atualizações de bugs e recursos de segurança deve reduzir o número de bugs de segurança que podem ser explorados por ataques. A estrutura de mídia permanece extensível; os parceiros podem continuar a estender codecs de mídia e extratores de formato de mídia.

Componentes de mídia atualizáveis

Existem componentes de mídia atualizáveis ​​nos módulos a seguir.

  • Módulo de mídia. Inclui os seguintes componentes de mídia.

    • Os extratores de mídia lidam com diferentes tipos de mídia. Cada extrator é um arquivo .so individual com uma função sniffer para determinar se o extrator pode manipular um determinado arquivo de mídia e uma função de fábrica que cria uma instância do extrator para esse arquivo de mídia.

    • As APIs MediaSession2 permitem que aplicativos de mídia exponham seus controles de transporte e informações de reprodução para outros processos, como a estrutura do Android e outros aplicativos.

    • As APIs MediaParser (novas no Android 11) permitem que o ExoPlayer faça uso eficiente dos analisadores de contêiner de mídia da estrutura para extrair amostras de mídia de contêineres de mídia.

    • A transcodificação de mídia compatível (nova no Android 12) ativa o recurso de transcodificação de mídia compatível da plataforma.

  • Módulo de codecs de mídia. Inclui componentes de software Codec2 atualizáveis.

  • Módulo MediaProvider. Otimiza metadados indexados (áudio, vídeo e imagens de cartões SD e dispositivos USB) e disponibiliza esses dados para aplicativos por meio das APIs públicas do MediaStore .

Para obter detalhes sobre esses módulos e componentes, consulte a seção Mídia .

Formato do módulo

O módulo Media ( com.android.media ) e o módulo Media Codec ( com.android.media.swcodec ) estão no formato APEX e estão disponíveis para dispositivos com Android 10 ou superior. O módulo MediaProvider ( com.google.android.mediaprovider ) está no formato APK-in-APEX e está disponível para dispositivos com Android 11 ou superior.

Costumização

Para obter detalhes sobre como adicionar extratores e decodificadores personalizados, consulte Personalizando componentes de mídia . Para obter detalhes sobre como adicionar novos formatos de mídia, influenciar quais dispositivos de armazenamento são indexados e substituir a pilha MTP, consulte MediaProvider .