Để kiểm soát hành vi của Transformer, bạn có thể định cấu hình các tuỳ chọn trong khu vực API hoặc thay thế hoàn toàn các phần chức năng bằng cách viết các phương thức triển khai tuỳ chỉnh giao diện và truyền giao diện đó vào. Trang này mô tả một số ví dụ.
Kiểm soát cấu hình bộ mã hoá và giải mã
Theo mặc định, Transformer sẽ quay lại độ phân giải được hỗ trợ nếu bộ mã hoá phần cứng của thiết bị không chấp nhận độ phân giải đầu ra được yêu cầu. Cho Ví dụ: Máy biến áp có thể căn chỉnh chiều rộng và chiều cao đầu ra thành bội số của 2 hoặc 16 khác thường theo yêu cầu của bộ mã hoá phần cứng. Bạn có thể tắt hành vi này để Transformer gửi lỗi nếu không thể tạo độ phân giải đầu ra:
Kotlin
transformerBuilder .setEncoderFactory( DefaultEncoderFactory.Builder(context) .setEnableFallback(false) .build())
Java
transformerBuilder .setEncoderFactory( new DefaultEncoderFactory.Builder(context) .setEnableFallback(false) .build());
Tương tự, DefaultEncoderFactory
cũng hỗ trợ sử dụng phương thức mã hoá tuỳ chỉnh
bằng tuỳ chọn setRequestedVideoEncoderSettings
.
Bạn cũng có thể thay thế hoàn toàn nhà máy cho bộ mã hoá và bộ giải mã để có được toàn quyền kiểm soát cách thiết lập bộ mã hoá và giải mã.
Trình kết hợp tuỳ chỉnh
Bạn có thể thiết lập một trình trộn tuỳ chỉnh để ghi các vùng chứa nội dung đa phương tiện bằng cách gọi
Transformer.setMuxerFactory
. Ví dụ: nếu bạn triển khai trình kết hợp của riêng mình tại
ở cấp ứng dụng, bạn có thể viết một trình bao bọc triển khai Muxer
giao diện và sau đó sử dụng setMuxerFactory
để chèn giao diện này vào Transformer.