Özelleştirme

Transformer'ın davranışını kontrol etmek için API yüzeyindeki seçenekleri yapılandırabilirsiniz. özel uygulamalar yazarak işlevsellik parçalarını tamamen değiştirmeyi deneyin ve bunları aktarabilirsiniz. Bu sayfada bazı örnekler açıklanmaktadır.

codec yapılandırmasını kontrol etme

Varsayılan olarak cihazın donanım kodlayıcısı, istenen çıkış çözünürlüğünü kabul etmiyor. Örneğin, Örneğin, Dönüştürücü, çıkış genişliğini ve yüksekliğini 2'nin katları olacak şekilde hizalayabilir veya 16 kodlayıcının gerekli gördüğü şekilde çalışır. Bu davranışı devre dışı bırakabilirsiniz Bu nedenle, Transformer gerekli olanı üretemezse bunun yerine bir hata verir. çıkış çözünürlüğü:

Kotlin

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

Java

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

Benzer şekilde, DefaultEncoderFactory özel kodlamanın kullanılmasını da destekler setRequestedVideoEncoderSettings seçeneği ile de ayarlayabilirsiniz.

Kodlayıcıların ve kod çözücülerin fabrikalarını tamamen değiştirebilir, codec'lerin nasıl ayarlandığı üzerinde tam kontrol sahibidir.

Özel mux'lar

Medya kapsayıcılarını yazmak için özel bir muxer ayarlamak için Transformer.setMuxerFactory Örneğin, isterseniz Muxer öğesini uygulayan bir sarmalayıcı yazabilirsiniz. arayüzü ve ardından setMuxerFactory öğesini kullanarak Transformer'a ekleyin.