マーカーをシークするには

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

マーカーは、ASF ファイル内の名前付き場所です。 再生は、非同期リーダーを使用してマーカーの位置からのみ開始できます。 マーカーで再生を開始するには、次の手順に従います。

  1. IWMReader::QueryInterface を呼び出して、IWMHeaderInfo インターフェイスへのポインターを取得します。
  2. IWMHeaderInfo::GetMarkerCount を呼び出して、ファイル内のマーカーの合計数を取得します。
  3. 手順 2 で取得したマーカー数を使用して、マーカーをループします。 各マーカーの IWMHeaderInfo::GetMarker を呼び出して、各マーカーの名前と時刻を取得します。 目的のマーカーのインデックスを保存します。
  4. IWMReader::QueryInterface を呼び出して、IWMReaderAdvanced2 インターフェイスへのポインターを取得します。
  5. IWMReaderAdvanced2::StartAtMarker を呼び出して、再生を開始するマーカーを指定します。 手順 3 で保存した目的のマーカーのインデックスを渡す必要があります。
  6. IWMReaderCallback::OnSample メソッドの実装で通常と同じようにサンプルを処理します。

マーカー

非同期リーダーを使用したファイルの読み取り

インデックスの使用