ストリーム内の複数のメタデータ タイプをサポート
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
2 種類のメタデータを使用するストリームでは、プレーヤーの実装に応じて追加の構成設定が必要になる場合があります。ストリームには複数のタイプのメタデータを含めることができます。IMA SDK は、ストリームにメタデータを追加して、メディアから広告情報を取得します。たとえば、SCTE-35 は一般的な 2 番目のメタデータ タイプです。
Media3 ExoPlayer v1.6 以降を使用するアプリの場合、2 つのメタデータ タイプを含むストリームはデフォルトで処理されます。
ExoPlayer のバージョンが v1.6 より前のアプリの場合は、ExoPlayer の実装に MetadataRenderer
インスタンスを追加する必要があります。次の例では、2 番目の MetadataRenderer
インスタンスを追加して、2 つのメタデータ タイプをサポートします。
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();;
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-08-31 UTC。
[null,null,["最終更新日 2025-08-31 UTC。"],[],[],null,["For streams using two different types of metadata, you might need additional\nconfiguration setup depending on your player implementation. A stream can\ncontain multiple types of metadata. The IMA SDK adds metadata to the stream to\nretrieve ad information from the media. For example,\n[SCTE-35](//support.google.com/admanager/answer/7506166) is a common second\nmetadata type.\n\nFor apps using\n[Media3 ExoPlayer](//developer.android.com/media/media3/exoplayer) v1.6 or\nhigher, streams with two metadata types are handled by default.\n\nFor apps using an ExoPlayer version lower than v1.6, you must add an additional\n[`MetadataRenderer`](//developer.android.com/reference/androidx/media3/exoplayer/metadata/MetadataRenderer)\ninstance to your ExoPlayer implementation. The following example adds a\nsecond `MetadataRenderer` instance to support two metadata types: \n\n RenderersFactory defaultRenderersFactory = new DefaultRenderersFactory(context) {\n\n @Override\n protected void buildMetadataRenderers(Context context, MetadataOutput output,\n Looper outputLooper, @ExtensionRendererMode int extensionRendererMode,\n ArrayList\u003cRenderer\u003e out) {\n // Add a `MetadataRenderer` for each type of metadata. This example adds 2.\n out.add(new MetadataRenderer(output, outputLooper));\n out.add(new MetadataRenderer(output, outputLooper));\n }\n };\n\n new ExoPlayer.Builder()\n .setRenderersFactory(defaultRenderersFactory)\n .setMediaSourceFactory(mediaSourceFactory)\n .build();;"]]