自訂

如要控管 Transformer 的行為,您可以在 API 介面中設定選項 也可以藉由編寫自訂導入方式完全取代功能 並傳入介面本頁會提供一些範例。

控制轉碼器設定

根據預設,如果 裝置的硬體編碼器不接受要求的輸出解析度。適用對象 例如,Transformer 可將輸出寬度和高度對齊為 2 的倍數 或 16。您可以關閉這項行為 ,如果 Transformer 無法產生必要的 輸出解析度:

Kotlin

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

Java

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

同樣地,DefaultEncoderFactory 也支援使用自訂編碼 以及 setRequestedVideoEncoderSettings 選項的設定

您也能完全取代編碼器和解碼器的工廠 可完全掌控轉碼器的設定方式。

客製化多工器

您可以藉由呼叫 Transformer.setMuxerFactory。舉例來說,假設您在 在應用程式層級,您可以編寫包裝函式來實作 Muxer 介面,然後使用 setMuxerFactory 將其插入 Transformer。