Untuk mengontrol perilaku Transformer, Anda dapat mengonfigurasi opsi di platform API atau mengganti bagian fungsi sepenuhnya dengan menulis implementasi kustom antarmuka dan meneruskannya. Halaman ini menjelaskan beberapa contoh.
Mengontrol konfigurasi codec
Secara {i>default<i}, Transformer akan kembali ke resolusi yang didukung jika encoder perangkat keras tidak menerima resolusi {i>output<i} yang diminta. Sebagai misalnya, Transformer dapat menyelaraskan lebar dan tinggi output menjadi kelipatan 2 atau 16 seperti yang sering diperlukan oleh encoder hardware. Anda dapat menonaktifkan perilaku ini sehingga Transformer akan menampilkan error jika tidak dapat menghasilkan resolusi output:
Kotlin
transformerBuilder .setEncoderFactory( DefaultEncoderFactory.Builder(context) .setEnableFallback(false) .build())
Java
transformerBuilder .setEncoderFactory( new DefaultEncoderFactory.Builder(context) .setEnableFallback(false) .build());
Demikian pula, DefaultEncoderFactory
juga mendukung penggunaan encoding kustom
setelan dengan opsi setRequestedVideoEncoderSettings
.
Anda juga dapat mengganti factory sepenuhnya untuk encoder dan decoder untuk mendapatkan kendali penuh atas bagaimana {i>codec<i} disiapkan.
Muxer kustom
Anda dapat menetapkan muxer kustom untuk menulis penampung media dengan memanggil
Transformer.setMuxerFactory
. Misalnya, jika Anda mengimplementasikan muxer Anda sendiri di
di level aplikasi, Anda dapat menulis wrapper yang mengimplementasikan Muxer
lalu gunakan setMuxerFactory
untuk memasukkannya ke dalam Transformer.