Вопрос

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

Почему эта функция необходима в MP3Extractor?

Это было полезно?

Решение

MediaExtractor — это модуль, который реализует анализ мультиплексированных данных в контейнере или формате файла.В файле будет несколько tracks, которые соответствуют конкретным данным, таким как video или audio.Аналогично, в MP3 файле может быть несколько дорожек, которые идентифицируются по их индексу.Индекс в функции соответствует определенному track представляет интерес.

Итак, зачем нужна эта функция?С MP3Extractor это еще один экстрактор в рамках, он должен поддерживать эту функцию, причина этого следующая.Давайте рассмотрим player В качестве примера. AwesomePlayer — это движок проигрывателя, который настраивает весь конвейер.

В этом процессе движок проигрывателя сначала настраивает экстрактор, а затем пытается создать последующий компонент, например decoder потреблять данные.А decoder специфичен для трека, который идентифицируется index.Чтобы создать decoder, необходимо знать характеристики данных, которые представлены или зафиксированы в meta то естьметаданные, которые будут использоваться для создания и инициализации последующего компонента.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top