Tuỳ chỉnh

Để kiểm soát hành vi của Transformer, bạn có thể định cấu hình các lựa chọn trong giao diện 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 triển khai tuỳ chỉnh của giao diện và truyền các triển khai đó vào. Trang này mô tả một số ví dụ.

Kiểm soát cấu hình codec

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 mà bạn yêu cầu. Ví dụ: Transformer có thể điều chỉnh chiều rộng và chiều cao đầu ra thành bội số của 2 hoặc 16 như thường được các bộ mã hoá phần cứng yêu cầu. Bạn có thể tắt hành vi này để Transformer thay vào đó sẽ báo lỗi nếu không tạo được độ phân giải đầu ra cần thiết:

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ợ việc sử dụng chế độ cài đặt mã hoá tuỳ chỉnh bằng lựa chọn setRequestedVideoEncoderSettings.

Bạn cũng có thể thay thế hoàn toàn các nhà máy cho bộ mã hoá và bộ giải mã để có toàn quyền kiểm soát cách thiết lập codec.

Bộ trộn tuỳ chỉnh

Bạn có thể thiết lập một bộ trộn tuỳ chỉnh để ghi các vùng chứa nội dung nghe nhìn bằng cách gọi Transformer.setMuxerFactory. Ví dụ: nếu triển khai muxer của riêng mình ở cấp ứng dụng, bạn có thể viết một trình bao bọc triển khai giao diện Muxer rồi dùng setMuxerFactory để chèn trình bao bọc đó vào Transformer.