如果串流使用兩種不同類型的中繼資料,您可能需要根據播放器實作方式進行額外設定。串流可以包含多種中繼資料類型。IMA SDK 會在串流中加入中繼資料,以便從媒體中擷取廣告資訊。舉例來說,SCTE-35 是常見的第二種結構描述資料類型。
如果應用程式使用 Media3 ExoPlayer 1.6 以上版本,系統會根據預設處理含有兩種中繼資料類型的串流。
如果應用程式使用 ExoPlayer 1.6 以下版本,則必須在 ExoPlayer 實作中額外新增 MetadataRenderer
例項。以下範例會新增第二個 MetadataRenderer
例項,以支援兩種中繼資料類型:
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();;