2 種類のメタデータを使用するストリームの場合、プレーヤーの実装によっては追加の構成設定が必要になることがあります。ストリームには複数の種類のメタデータを含めることができます。IMA SDK は、メディアから広告情報を取得するために、ストリームにメタデータを追加します。たとえば、SCTE-35 は一般的なセカンダリ メタデータ タイプです。
Media3 ExoPlayer v1.6 以降を使用するアプリの場合、2 つのメタデータ タイプを含むストリームはデフォルトで処理されます。
ExoPlayer v1.6 より前のバージョンを使用しているアプリでは、ExoPlayer の実装に MetadataRenderer
インスタンスを追加する必要があります。次の例では、2 つのメタデータ型をサポートするために、2 つ目の 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();;