سفارشی سازی

برای کنترل رفتار Transformer، می‌توانید گزینه‌هایی را در سطح API پیکربندی کنید یا بخش‌هایی از عملکرد را با نوشتن پیاده‌سازی‌های سفارشی از رابط‌ها و ارسال آن‌ها به طور کامل جایگزین کنید. این صفحه چند مثال را شرح می‌دهد.

کنترل پیکربندی کدک

به طور پیش‌فرض، اگر انکودر سخت‌افزاری دستگاه، رزولوشن خروجی درخواستی را نپذیرد، Transformer به یک رزولوشن پشتیبانی‌شده برمی‌گردد. برای مثال، Transformer می‌تواند عرض و ارتفاع خروجی را طوری تنظیم کند که مضربی از ۲ یا ۱۶ باشد، همانطور که اغلب توسط انکودرهای سخت‌افزاری مورد نیاز است. شما می‌توانید این رفتار را غیرفعال کنید تا Transformer در صورت عدم تولید رزولوشن خروجی مورد نیاز، خطا دهد:

کاتلین

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

جاوا

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

به طور مشابه، DefaultEncoderFactory نیز از استفاده از تنظیمات کدگذاری سفارشی با گزینه setRequestedVideoEncoderSettings پشتیبانی می‌کند.

همچنین می‌توانید کارخانه‌های مربوط به رمزگذارها و رمزگشاها را به طور کامل جایگزین کنید تا کنترل کاملی بر نحوه تنظیم کدک‌ها داشته باشید.

میکسرهای سفارشی

شما می‌توانید با فراخوانی Transformer.setMuxerFactory یک muxer سفارشی برای نوشتن کانتینرهای رسانه تنظیم کنید. برای مثال، اگر muxer خود را در سطح برنامه پیاده‌سازی کنید، می‌توانید یک wrapper بنویسید که رابط Muxer را پیاده‌سازی کند و سپس setMuxerFactory برای تزریق آن به Transformer استفاده کنید.