Giới thiệu về Jetpack Media3

Jetpack Media3 là ngôi nhà mới dành cho các thư viện nội dung nghe nhìn, cho phép các ứng dụng Android hiển thị trải nghiệm âm thanh và hình ảnh phong phú. Media3 cung cấp cấu trúc đơn giản với khả năng tuỳ chỉnh mạnh mẽ, độ tin cậy và khả năng tối ưu hoá dựa trên khả năng của thiết bị để loại bỏ sự phức tạp đi kèm với sự phân mảnh.

Tài liệu này giới thiệu về các API chính để triển khai trường hợp sử dụng phát và chỉnh sửa bằng Media3.

Thành phần phát

Media3 cung cấp một số thành phần chính cho các trường hợp sử dụng phát lại. Các lớp tạo nên những thành phần này sẽ quen thuộc với bạn nếu bạn từng làm việc với các thư viện nội dung nghe nhìn trên Android trước đây.

Sơ đồ sau đây minh hoạ cách các thành phần này kết hợp với nhau trong một ứng dụng thông thường.

Các thành phần của một ứng dụng đa phương tiện sử dụng Media3 sẽ kết nối với nhau theo một số cách đơn giản do việc chia sẻ giao diện và lớp.
Hình 1: Thành phần của ứng dụng đa phương tiện

Trình phát nội dung đa phương tiện

Trình phát nội dung nghe nhìn là một thành phần của ứng dụng cho phép phát các tệp nội dung nghe nhìn. Trong Media3, bạn sẽ thấy:

Lớp học Mô tả Lưu ý về việc triển khai
Player Player là giao diện xác định các tính năng cấp cao truyền thống cho trình phát nội dung đa phương tiện, chẳng hạn như khả năng phát, tạm dừng và tua. Trong Media3, giao diện Player là một API phổ biến được một số thành phần triển khai hoặc sử dụng, chẳng hạn như MediaSessionMediaController.
ExoPlayer ExoPlayer là phương thức triển khai mặc định của giao diện Player trong Media3.

Tìm hiểu thêm về Media3 ExoPlayer

Phiên phát nội dung đa phương tiện

Phiên phát nội dung đa phương tiện là một cách thức phổ biến để tương tác với trình phát nội dung đa phương tiện. Việc này cho phép một ứng dụng quảng cáo việc phát nội dung nghe nhìn ra các nguồn bên ngoài và nhận yêu cầu kiểm soát chế độ phát từ các nguồn bên ngoài. Trong Media3, bạn sẽ thấy:

Lớp học Mô tả Lưu ý về việc triển khai
MediaSession Phiên phát nội dung đa phương tiện cho phép ứng dụng của bạn tương tác với trình phát âm thanh hoặc video. Các ứng dụng này quảng cáo việc phát nội dung nghe nhìn bên ngoài và nhận lệnh phát từ các nguồn bên ngoài. Trong Media3, MediaSession cần có Player để thực thi các lệnh và lấy trạng thái hiện tại.
MediaSessionService MediaSessionService lưu giữ phiên phát nội dung đa phương tiện và trình phát liên kết trong một dịch vụ tách biệt với Activity chính của ứng dụng để hỗ trợ việc phát ở chế độ nền.
MediaController Lớp MediaController thường được dùng để gửi lệnh từ bên ngoài ứng dụng, chẳng hạn như từ các ứng dụng khác hoặc từ chính hệ thống. Các lệnh được gửi đến Player cơ bản của MediaSession được liên kết. Lớp MediaController triển khai giao diện Player, nhưng khi gọi một phương thức, lệnh sẽ được gửi đến MediaSession được kết nối. Các ứng dụng khách như Trợ lý Google có thể dùng MediaController để điều khiển chế độ phát trong một phiên kết nối.
MediaLibraryService MediaLibraryService tương tự như MediaSessionService, ngoại trừ việc nó bao gồm các API bổ sung để bạn có thể phân phát thư viện nội dung cho các ứng dụng khách.
MediaBrowser Lớp MediaBrowser cho phép người dùng di chuyển trong thư viện nội dung của một ứng dụng đa phương tiện và chọn các mục sẽ phát. Lớp MediaBrowser triển khai cả giao diện MediaControllerPlayer. Tương tự như MediaController, các ứng dụng khách như Android Auto thường triển khai MediaBrowser.

Tìm hiểu thêm về Media3 MediaSession

Thành phần giao diện người dùng

Media3 cung cấp các thành phần giao diện người dùng mặc định để xem video và điều khiển chế độ phát.

Lớp học Mô tả Lưu ý về việc triển khai
PlayerView View mặc định để hiển thị video và bộ điều khiển chế độ phát. Kết nối với ExoPlayer, MediaController hoặc bất kỳ Player tuỳ chỉnh nào khác.

Tìm hiểu thêm về giao diện người dùng Media3

Chỉnh sửa thành phần

Media3 bao gồm các Transformer API cho các trường hợp sử dụng chỉnh sửa nội dung nghe nhìn, trong đó có:

  • Xử lý âm thanh và video, chẳng hạn như thêm bộ lọc và hiệu ứng
  • Xử lý các định dạng đặc biệt, chẳng hạn như video HDR và video chuyển động chậm
  • Cấu trúc, chẳng hạn như kết hợp nhiều tệp nhập
  • Xuất kết quả cuối cùng sang tệp
Lớp học Mô tả Lưu ý về việc triển khai
Transformer Sử dụng lớp Transformer để bắt đầu và dừng các phép biến đổi, đồng thời kiểm tra thông tin cập nhật về tiến trình của một phép biến đổi đang chạy.
Effects Đối tượng Effects là một tập hợp các hiệu ứng âm thanh và video để áp dụng cho một mục nội dung đa phương tiện.
EditedMediaItem EditedMediaItem đại diện cho một mục nội dung đa phương tiện cần xử lý và nội dung chỉnh sửa để áp dụng cho mục đó. Bạn có thể sử dụng ExoPlayer để xem trước các hiệu ứng được thêm vào một mục nội dung nghe nhìn trước khi bắt đầu quá trình xuất.

Tìm hiểu thêm về Media3 Transformer

Video giới thiệu

Hãy xem video dưới đây để biết phần giới thiệu về Media3 từ các kỹ sư đã xây dựng ứng dụng này.