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ı ileterek işlev parçalarını tamamen değiştirebilirsiniz. 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 etmezse Transformer desteklenen bir çözünürlüğe geri döner. Örneğin, Transformer, çıkış genişliğini ve yüksekliğini genellikle donanım kodlayıcılar tarafından gerekli olduğu şekilde 2 veya 16'nın katı olacak şekilde hizalayabilir. Transformer'ın gerekli çıkış çözünürlüğünü üretememesi durumunda hata vermesi için bu davranışı devre dışı bırakabilirsiniz:
Kotlin
transformerBuilder.setEncoderFactory( DefaultEncoderFactory.Builder(context).setEnableFallback(false).build() )
Java
transformerBuilder.setEncoderFactory( new DefaultEncoderFactory.Builder(context).setEnableFallback(false).build());
Benzer şekilde, DefaultEncoderFactory seçeneğiyle özel kodlama ayarlarının kullanılması da setRequestedVideoEncoderSettings tarafından desteklenir.
Codec'lerin nasıl ayarlandığı üzerinde tam kontrol sahibi olmak için kodlayıcı ve çözücü fabrikalarını tamamen değiştirebilirsiniz.
Özel muxer'lar
Transformer.setMuxerFactory işlevini çağırarak medya kapsayıcılarını yazmak için özel bir çoklayıcı ayarlayabilirsiniz. Örneğin, uygulama düzeyinde kendi muxer'ınızı uygularsanız Muxer arayüzünü uygulayan bir sarmalayıcı yazabilir ve ardından bunu Transformer'a yerleştirmek için setMuxerFactory kullanabilirsiniz.