Frage

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;
}

Warum diese Funktion im benötigt wird MP3Extractor?

War es hilfreich?

Lösung

MediaExtractor ist ein Modul, das das Parsen gemultiplexter Daten in Containern oder Dateiformaten implementiert.In einer Datei gibt es mehrere tracks, die bestimmten Daten entsprechen, z video oder audio.Ebenso in a MP3 In einer Datei kann es mehrere Titel geben, die anhand ihres Index identifiziert werden.Der Index in der Funktion entspricht einem bestimmten track von Interesse.

Warum ist diese Funktion nun erforderlich?Seit MP3Extractor Ist ein weiterer Extraktor im Framework, muss er diese Funktion unterstützen, der Grund dafür folgt.Betrachten wir das player als Beispiel. AwesomePlayer ist eine Player-Engine, die die gesamte Pipeline einrichtet.

In diesem Prozess würde die Player-Engine zuerst den Extraktor einrichten und dann versuchen, eine Downstream-Komponente wie eine zu erstellen decoder um die Daten zu verbrauchen.Der decoder ist spezifisch für einen Track, der durch identifiziert wird index.Um eine zu erstellen decoder, Man muss die Eigenschaften der Daten kennen, die darin dargestellt oder erfasst werden meta d.h.Metadaten, die zum Erstellen und Initialisieren der Downstream-Komponente verwendet werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top