Pergunta

sp<MetaData> MP3Extractor::getTrackMetaData(size_t index, uint32_t flags) {
    ALOGE("%s\t%d",__FUNCTION__,__LINE__);

    if (mInitCheck != OK || index != 0) {
        return NULL;
    }

    return mMeta;
}

Por que esta função é necessária no MP3Extractor?

Foi útil?

Solução

MediaExtractor é um módulo que implementa a análise de contêiner ou formato de arquivo de dados multiplexados.Em um arquivo haverá vários tracks que correspondem a dados específicos como video ou audio.Da mesma forma, em um MP3 arquivo, pode haver várias faixas identificadas por seu índice.O índice na função corresponde a um específico track de interesse.

Agora, por que essa função é necessária?Desde MP3Extractor é outro extrator no framework, ele deve suportar esta função, cujo motivo é o seguinte.Vamos considerar o player como um exemplo. AwesomePlayer é um mecanismo de player que configura todo o pipeline.

Neste processo, o mecanismo do player configuraria o extrator primeiro e depois tentaria criar um componente downstream como um decoder para consumir os dados.O decoder é específico para uma pista que é identificada pelo index.Para criar um decoder, é necessário conhecer as características dos dados que são representados ou capturados em meta ou sejametadados que serão empregados para criar e inicializar o componente downstream.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top