سؤال

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 هي وحدة تقوم بتنفيذ تحليل الحاوية أو تنسيق الملف للبيانات المتعددة الإرسال.في ملف سيكون هناك متعددة trackالتي تتوافق مع بيانات محددة مثل video أو audio.وبالمثل، في أ MP3 قد يكون هناك مسارات متعددة يتم تحديدها بواسطة الفهرس الخاص بها.الفهرس الموجود في الدالة يتوافق مع محدد track من اهتمام.

الآن، لماذا هذه الوظيفة مطلوبة؟منذ MP3Extractor هو مستخرج آخر في الإطار، يجب أن يدعم هذه الوظيفة، والسبب التالي.دعونا نفكر في player كمثال. AwesomePlayer هو محرك اللاعب الذي يقوم بإعداد خط الأنابيب بأكمله.

في هذه العملية، يقوم محرك المشغل بإعداد المستخرج أولاً ثم يحاول إنشاء مكون التدفق السفلي مثل ملف decoder لاستهلاك البيانات.ال decoder خاص بالمسار الذي تم تحديده بواسطة index.لخلق decoder, يحتاج المرء إلى معرفة خصائص البيانات التي يتم تمثيلها أو التقاطها meta أي.البيانات التعريفية التي سيتم استخدامها لإنشاء وتهيئة المكون المتدفق.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top