Đối với các luồng sử dụng hai loại siêu dữ liệu, bạn có thể cần thiết lập cấu hình bổ sung tuỳ thuộc vào cách triển khai trình phát. Một luồng có thể chứa nhiều loại siêu dữ liệu. SDK IMA thêm siêu dữ liệu vào luồng để truy xuất thông tin quảng cáo từ nội dung nghe nhìn. Ví dụ: SCTE-35 là một loại siêu dữ liệu thứ hai phổ biến.
Đối với các ứng dụng sử dụng Media3 ExoPlayer phiên bản 1.6 trở lên, các luồng có hai loại siêu dữ liệu sẽ được xử lý theo mặc định.
Đối với các ứng dụng sử dụng ExoPlayer phiên bản thấp hơn 1.6, bạn phải thêm một thực thể bổ sung
MetadataRenderer
vào quá trình triển khai ExoPlayer. Ví dụ sau đây thêm một thực thể MetadataRenderer thứ hai để hỗ trợ hai loại siêu dữ liệu:
RenderersFactory defaultRenderersFactory = new DefaultRenderersFactory(context) {
@Override
protected void buildMetadataRenderers(Context context, MetadataOutput output,
Looper outputLooper, @ExtensionRendererMode int extensionRendererMode,
ArrayList<Renderer> out) {
// Add a `MetadataRenderer` for each type of metadata. This example adds 2.
out.add(new MetadataRenderer(output, outputLooper));
out.add(new MetadataRenderer(output, outputLooper));
}
};
new ExoPlayer.Builder()
.setRenderersFactory(defaultRenderersFactory)
.setMediaSourceFactory(mediaSourceFactory)
.build();;