التخصيص

للتحكّم في سلوك المحوِّل، يمكنك ضبط الخيارات في مساحة عرض واجهة برمجة التطبيقات. أو استبدال أجزاء من الوظائف كليًا من خلال كتابة عمليات تنفيذ مخصّصة من الواجهات وتمريرها. تعرض هذه الصفحة بعض الأمثلة.

التحكّم في إعدادات برنامج الترميز

بشكل افتراضي، سيعود المحوِّل إلى درجة دقة مدعومة إذا كانت برنامج الترميز الموجود بالجهاز لا يقبل درجة الإخراج المطلوبة. بالنسبة على سبيل المثال، يمكن للمحول محاذاة عرض الإخراج وارتفاعه ليكون مضاعفًا في 2 أو 16 كما تتطلب برامج الترميز بالأجهزة غالبًا. يمكنك إيقاف هذا السلوك. بحيث يعرض المحول وبدلاً من ذلك خطأ إذا لم يستطع تقديم دقة الإخراج:

Kotlin

transformerBuilder
    .setEncoderFactory(
        DefaultEncoderFactory.Builder(context)
            .setEnableFallback(false)
            .build())

Java

transformerBuilder
    .setEncoderFactory(
        new DefaultEncoderFactory.Builder(context)
            .setEnableFallback(false)
            .build());

وبالمثل، تتيح DefaultEncoderFactory أيضًا استخدام ترميز مخصّص. الإعدادات مع الخيار setRequestedVideoEncoderSettings.

يمكنك أيضًا استبدال المصانع بالكامل لبرامج الترميز وفك الترميز للحصول على تحكمًا كاملاً في كيفية إعداد برامج الترميز.

مُخزنات الاختزال المخصصة

يمكنك ضبط مُخرِج مخصّص لكتابة حاويات الوسائط عن طريق استدعاء Transformer.setMuxerFactory على سبيل المثال، إذا قمت بتنفيذ حاسبك الخاص على على مستوى التطبيق، يمكنك كتابة برنامج تضمين ينفذ Muxer. ثم استخدام setMuxerFactory لإدخاله في المحول.