Tuỳ chỉnh

Để 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 giao diện tuỳ chỉnh và truyền các phương thức đó 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. Ví dụ: Transformer 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 như 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 báo lỗi nếu không thể tạo ra độ phân giải đầu ra bắt buộc:

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 các chế độ cài đặt mã hoá tuỳ chỉnh với tuỳ chọn setRequestedVideoEncoderSettings.

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

Muxer tuỳ chỉnh

Bạn có thể thiết lập một trình kết hợp tuỳ chỉnh để ghi 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 nhiều trình kết hợp của riêng mình ở cấp ứng dụng, bạn có thể viết một trình bao bọc giúp triển khai giao diện Muxer, sau đó sử dụng setMuxerFactory để chèn vào Transformer.