Transformer'ın davranışını kontrol etmek için API yüzeyindeki seçenekleri yapılandırabilir veya arayüzlerin özel uygulamalarını yazıp bunları geçirerek işlevleri tamamen değiştirebilirsiniz. Bu sayfada bazı örnekler açıklanmaktadır.
Codec yapılandırmasını kontrol etme
Cihazın donanım kodlayıcısı, istenen çıkış çözünürlüğünü kabul etmezse dönüştürücü, varsayılan olarak desteklenen bir çözünürlüğe döner. Örneğin, Transformer, çıkış genişliğini ve yüksekliğini 2 veya 16'nın katı olacak şekilde hizalayabilir. Bu, genellikle donanım kodlayıcılarının gerektirdiği şekilde yapılır. Bu davranışı devre dışı bırakabilirsiniz. Böylece Transformer gerekli çıkış çözünürlüğünü üretemezse hata mesajı verir:
Kotlin
transformerBuilder .setEncoderFactory( DefaultEncoderFactory.Builder(context) .setEnableFallback(false) .build())
Java
transformerBuilder .setEncoderFactory( new DefaultEncoderFactory.Builder(context) .setEnableFallback(false) .build());
Benzer şekilde DefaultEncoderFactory
, setRequestedVideoEncoderSettings
seçeneğiyle özel kodlama ayarlarının kullanılmasını da destekler.
Ayrıca, codec'lerin ayarlanma şekli üzerinde tam kontrol elde etmek için kodlayıcı ve kod çözücü fabrikalarını tamamen değiştirebilirsiniz.
Özel muxer'lar
Transformer.setMuxerFactory
çağrısı yaparak medya kapsayıcılarını yazmak için özel bir muxer ayarlayabilirsiniz. Örneğin, kendi muxer'ınızı uygulama düzeyinde uygularsanız Muxer
arayüzünü uygulayan bir sarmalayıcı yazabilir ve ardından setMuxerFactory
kullanarak bunu Transformer'a yerleştirebilirsiniz.