ストリーム内の複数のメタデータ タイプをサポート

2 種類のメタデータを使用するストリームの場合、プレーヤーの実装に応じて追加の構成設定が必要になることがあります。ストリームには複数のタイプのメタデータを含めることができます。IMA SDK は、メディアから広告情報を取得するために、ストリームにメタデータを追加します。たとえば、 SCTE-35 は一般的な 2 番目の メタデータタイプです。

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();;