Qual è l'indice nella seguente funzione?
-
21-12-2019 - |
Domanda
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;
}
.
Perché questa funzione è richiesta nel MP3Extractor
?
Soluzione
MediaExtractor
è un modulo che implementa il contenitore o il formato di file antigas di un dato multiplexed. In un file ci saranno più generatori di generatori che corrispondono a dati specifici come track
o video
. Allo stesso modo, in un file audio
, ci potrebbero essere più tracce identificate dal loro indice. L'indice nella funzione corrisponde a uno specifico MP3
di interesse.
Ora, perché è richiesta questa funzione? Poiché track
è un altro estrattore nel framework, deve supportare questa funzione, il motivo per cui segue. Consideriamo il MP3Extractor
come esempio. player
è un motore giocatore che imposta l'intera pipeline.
In questo processo, il motore del lettore avrebbe configurato innanzitutto l'estrattore e quindi provare a creare un componente down-stream come un AwesomePlayer
per consumare i dati. Il decoder
è specifico per una traccia identificata dal decoder
. Per creare un index
, uno richiede di conoscere le caratteristiche dei dati rappresentati o catturati in decoder
I.e. Metadati che verranno impiegati per creare e inizializzare il componente Down-Stream.