Penyesuaian

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.