メタデータの操作

[このページに関連付けられている機能である Windows Media Format 11 SDK は、従来の機能です。 ソース リーダーシンク ライターに置き換わりました。 ソース リーダーシンク ライターは、Windows 10とWindows 11用に最適化されています。 Microsoft では、可能であれば、新しいコードで Windows Media Format 11 SDK ではなくソース リーダーシンク ライターを使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]

メタデータのサポートは、ライター オブジェクト、リーダーおよび同期リーダー オブジェクト、およびメタデータ エディター オブジェクトによって提供されます。 メタデータに関する一般的な情報については、「 メタデータ」を参照してください。 Windows Media Format SDK のメタデータをサポートする機能の詳細については、「 メタデータ機能」を参照してください。

メタデータ編集用のインターフェイスは IWMHeaderInfo3 です。このインターフェイスは、上記のいずれかのオブジェクトの任意のインターフェイスの QueryInterface メソッドを呼び出すことで取得できます。 IWMHeaderInfo3 は、 IWMHeaderInfo および IWMHeaderInfo2 のメソッド 継承します。 メタデータ属性を処理する IWMHeaderInfo3 のメソッドは、 IWMHeaderInfo のメソッドで使用される方法とは異なる、メタデータへのアクセス方法を表します。 新しいメソッドは常に使用する必要があります。

ASF ファイル内のメタデータは、インデックスとストリーム番号によって識別されます。 ファイル レベルの属性には、ストリーム番号 0 が割り当てられます。 以前のバージョンの Windows Media Format SDK では、属性を名前で識別できました。 ただし、ストリーム内で属性名を複製できるようになったため、これはできなくなります。 代わりに、名前に一致するすべてのインデックスを取得できます。 詳細については、「 メタデータ属性の取得」を参照してください。

属性をすばやく見つけるために、特殊なストリーム番号を使用0xFFFF。 このストリーム番号を使用して、特定のストリームまたはファイル レベルの属性ではなく、ファイル全体を識別します。 Windows Media Format SDK のオブジェクトは、ストリームごとに、およびファイル レベルの属性に対して個別のインデックスを保持します。 ストリーム 0xFFFFを使用する場合、インデックスは特定のストリームを指定するときに使用するインデックスとは異なります。 たとえば、ストリーム 0 のインデックス 0 である属性は、ストリーム 0xFFFFのインデックス 0 である属性と同じではありません。

次のセクションでは、メタデータの使用方法について詳しく説明します。

セクション 説明
メタデータ属性の取得 ファイル ヘッダーからメタデータ属性を読み取る方法について説明します。
メタデータ属性の設定 ファイル ヘッダーに新しいメタデータ属性を追加する方法について説明します。
メタデータ属性の編集 既存のメタデータ属性を編集する方法について説明します。
メタデータ属性の削除 既存のメタデータ属性を削除する方法について説明します。
複雑なメタデータ属性の使用 構造体で表される値を持つ属性を操作する方法について説明します。

 

いくつかのサンプル アプリケーションでは、メタデータを取得および編集する方法を示しています。 特に、C++ と C# の両方のバージョンに含まれる MetadataEdit サンプルを参照してください。

属性

プログラミング ガイド

サンプル アプリケーション