برای کنترل رفتار Transformer، میتوانید گزینهها را در سطح API پیکربندی کنید یا با نوشتن پیادهسازیهای سفارشی رابطها و ارسال آنها، گزینهها را به طور کامل جایگزین کنید. این صفحه چند نمونه را توضیح میدهد.
کنترل پیکربندی کدک
اگر رمزگذار سختافزار دستگاه وضوح خروجی درخواستی را نپذیرد، بهطور پیشفرض، Transformer به وضوح پشتیبانیشده بازمیگردد. به عنوان مثال، ترانسفورماتور می تواند عرض و ارتفاع خروجی را مضرب 2 یا 16 قرار دهد، همانطور که اغلب توسط رمزگذارهای سخت افزاری مورد نیاز است. میتوانید این رفتار را خاموش کنید تا اگر 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 استفاده کنید.