閲覧者のパフォーマンス統計を取得するには

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

非同期リーダーを使用してファイルをローカルで読み取る場合、読み取り操作のパフォーマンスをチェックする必要はありません。 ただし、アプリケーションがストリーミング ソースから読み取る場合は、パフォーマンス統計が非常に重要になる可能性があります。 アプリケーションは、再生パフォーマンスの変化に対応して、可能な限り最適なエンド ユーザー エクスペリエンスを確保できます。

リーダーから取得できるパフォーマンス情報には、次の統計情報が含まれます。

  • 接続の現在の帯域幅。
  • サーバーから受信したパケットの数。
  • 復旧された失われたパケットの数。
  • 復旧されなかった失われたパケットの数。
  • 受信したパケットの合計数に対する割合。

閲覧者のパフォーマンス統計を取得するには、次の手順を実行します。

  1. 再生を開始する前に、 WM_READER_STATISTICS 構造を作成します。 cbSize メンバーを sizeof(WM_READER_STATISTICS) に設定する必要があります。
  2. IWMReader::QueryInterface を呼び出して、リーダー オブジェクトの IWMReaderAdvanced インターフェイスへのポインターを取得します。
  3. 再生中に、 IWMReaderAdvanced::GetStatistics を頻繁に呼び出してパフォーマンスを監視します。 各呼び出しで WM_READER_STATISTICS 構造を渡し、適切なメンバーを調べます。

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