Penyesuaian

Untuk mengontrol perilaku Transformer, Anda dapat mengonfigurasi opsi di platform API atau mengganti bagian-bagian fungsi sepenuhnya dengan menulis implementasi kustom antarmuka dan meneruskannya. Halaman ini menjelaskan beberapa contohnya.

Mengontrol konfigurasi codec

Secara default, Transformer akan kembali ke resolusi yang didukung jika encoder hardware perangkat tidak menerima resolusi output yang diminta. Misalnya, Transformer dapat menyelaraskan lebar dan tinggi output dengan 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 yang diperlukan:

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 setelan encoding kustom dengan opsi setRequestedVideoEncoderSettings.

Anda juga dapat mengganti factory sepenuhnya untuk encoder dan decoder guna mendapatkan kontrol penuh terkait cara penyiapan codec.

Muxer kustom

Anda dapat menetapkan muxer kustom untuk menulis container media dengan memanggil Transformer.setMuxerFactory. Misalnya, jika mengimplementasikan muxer Anda sendiri pada level aplikasi, Anda dapat menulis wrapper yang mengimplementasikan antarmuka Muxer, lalu menggunakan setMuxerFactory untuk memasukkannya ke dalam Transformer.