Media3 Transformer đang tích cực phát triển nên chúng tôi rất mong nhận được ý kiến đóng góp của bạn! Chúng tôi hoan nghênh ý kiến phản hồi, yêu cầu về tính năng và báo cáo lỗi của bạn trong
công cụ theo dõi lỗi. Theo dõi
blog ExoPlayer để biết những thông tin cập nhật mới nhất.
Tuỳ chỉnh
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Để 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.
Trừ phi có lưu ý khác, nội dung của trang này được cấp phép theo Giấy phép ghi nhận tác giả 4.0 của Creative Commons và các mẫu mã lập trình được cấp phép theo Giấy phép Apache 2.0. Để biết thông tin chi tiết, vui lòng tham khảo Chính sách trang web của Google Developers. Java là nhãn hiệu đã đăng ký của Oracle và/hoặc các đơn vị liên kết với Oracle.
Cập nhật lần gần đây nhất: 2025-07-27 UTC.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 2025-07-27 UTC."],[],[],null,["# Customization\n\nTo control Transformer's behavior, you can configure options in the API surface\nor replace pieces of functionality completely by writing custom implementations\nof interfaces and passing those in. This page describes some examples.\n\nControl codec configuration\n---------------------------\n\nBy default, Transformer will fall back to a supported resolution if the\ndevice's hardware encoder doesn't accept the requested output resolution. For\nexample, Transformer can align the output width and height to be a multiple of 2\nor 16 as is often required by hardware encoders. You can turn off this behavior\nso that Transformer instead throws an error if it can't produce the required\noutput resolution: \n\n### Kotlin\n\n```kotlin\ntransformerBuilder\n .setEncoderFactory(\n DefaultEncoderFactory.Builder(context)\n .setEnableFallback(false)\n .build())\n```\n\n### Java\n\n```java\ntransformerBuilder\n .setEncoderFactory(\n new DefaultEncoderFactory.Builder(context)\n .setEnableFallback(false)\n .build());\n```\n\n\u003cbr /\u003e\n\nSimilarly, the `DefaultEncoderFactory` also supports using custom encoding\nsettings with the `setRequestedVideoEncoderSettings` option.\n\nYou can also completely replace the factories for encoders and decoders to get\nfull control over how the codecs are set up.\n\nCustom muxers\n-------------\n\nYou can set a custom muxer for writing media containers by calling\n`Transformer.setMuxerFactory`. For example, if you implement your own muxer at\nthe application level, you can write a wrapper that implements the `Muxer`\ninterface and then use `setMuxerFactory` to inject it into Transformer."]]