Khắc phục sự cố


Tại sao tôi không thể truy cập vào các tệp trên máy trong ứng dụng minh hoạ?

Thực thi bộ nhớ có giới hạn trên Android 11 (API cấp 30) ngăn chặn quyền truy cập vào hệ thống tệp trực tiếp. Để kiểm thử thủ công trong khoảng thời gian phát triển, bạn có thể truy cập các tệp cục bộ bằng cách thêm trong tệp kê khai ứng dụng minh hoạ:

<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>

Sau đó, hãy cấp quyền qua adb:

adb shell appops set --uid androidx.media3.demo.transformer \
    MANAGE_EXTERNAL_STORAGE allow

Tại sao không xuất được trên một thiết bị cụ thể?

Vui lòng báo cáo vấn đề về vấn đề Media3 vòng đeo tay theo dõi có đủ thông tin để tái hiện vấn đề. Có thể thêm giải pháp cho các sự cố cụ thể của thiết bị thư viện để cải thiện khả năng tương thích theo thời gian.

Bộ chuyển đổi có hỗ trợ biến đổi (hoặc ghi) nội dung nghe nhìn từ xa không?

Transformer hỗ trợ các luồng tiến bộ từ xa, bao gồm cả vùng chứa tệp đa phương tiện như MP4.

Trong điều kiện mạng rất kém, quá trình xuất có thể không thành công do việc lưu vào bộ đệm nội dung nghe nhìn từ xa sử dụng quá nhiều điều kiện kích hoạt sẽ kiểm tra trong trình kết hợp nhằm mục đích xác định đường ống bị kẹt. Bạn có thể ghi đè hành vi mặc định bằng cách đặt maxDelayBetweenMuxerSamplesMs trên Transformer.Builder:

Kotlin

Transformer.Builder(context)
    .setMaxDelayBetweenMuxerSamplesMs(C.TIME_UNSET)
    .build()

Java

new Transformer.Builder(context)
    .setMaxDelayBetweenMuxerSamplesMs(C.TIME_UNSET)
    .build();

Việc truyền vào C.TIME_UNSET sẽ xoá hoàn toàn thời gian chờ, nhưng nếu ứng dụng của bạn chạy trên chipset mà MediaCodec có thể bị kẹt, bạn nên thiết lập một khối lớn hơn khác 0 .

Bộ chuyển đổi có hỗ trợ đầu vào 8k không?

Transformer được triển khai theo cách không phụ thuộc vào định dạng nên không giới hạn xử lý video 8k nhưng khả năng phần cứng trên thiết bị có thể không thể xuất dữ liệu. Ví dụ: ngay cả trên các thiết bị có thể quay 8K, bạn có thể không thể giải mã và mã hoá lại video 8k do vượt quá bộ mã hoá và giải mã phần cứng hoặc các tài nguyên RAM có sẵn.

Transformer có liên quan như thế nào đến quá trình chuyển mã nội dung nghe nhìn tương thích với nền tảng?

Chuyển mã tệp đa phương tiện tương thích là một tính năng của nền tảng Android từ Android 12 (API cấp 31) chuyển đổi phương tiện truyền thông có thời lượng tối đa một phút thành các định dạng được ứng dụng hỗ trợ. Nếu bạn chọn sử dụng tính năng này, đọc tệp đa phương tiện ở định dạng không tương thích khiến tệp được chuyển mã theo yêu cầu và kết quả được lưu vào bộ nhớ đệm để đọc sau các toán tử.

Transformer cũng hỗ trợ định dạng lượt chuyển đổi, nhưng mã này có sẵn dưới dạng thư viện hỗ trợ và ứng dụng có toàn quyền kiểm soát đối với chuyển mã.

Làm cách nào để giảm độ trễ xuất hoặc tăng công suất?

Bộ chuyển đổi dựa vào MediaCodec để giải mã được tăng tốc phần cứng và và OpenGL để xử lý khung hình video. Dựa trên kết quả đo lường của chúng tôi về các thiết bị thông thường, yếu tố giới hạn trong công suất của Transformer là phần cứng Công suất bộ mã hoá MediaCodec cho các trường hợp sử dụng không có hiệu ứng nặng đang xử lý. Điều này có thể ảnh hưởng đến các cách triển khai khác theo cách tương tự. Cho Ví dụ: tính năng chuyển mã tương thích với nền tảng có hiệu suất tương tự như Bộ chuyển đổi.

Bản xem trước gỡ lỗi của ứng dụng minh hoạ sẽ làm giảm đáng kể công suất, vì vậy hãy tắt tính năng xem trước khi thử nghiệm với bản phát hành của ứng dụng minh hoạ để có ý tưởng thực tế về hiệu suất.