如要控管 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。