共用方式為


品質訊息

[與此頁面 相關的功能 DirectShow是舊版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayerIMFMediaEngine音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議盡可能重寫使用舊版 API 的現有程式碼,以使用新的 API。]

品質訊息是使用 品質 結構來定義。 此結構包含下列成員:

  • 類型:QualityMessageType 列舉定義;F,表示篩選接收的資料太少,或「水流」,表示篩選收到太多資料。
  • 比例: 資料速率中要求的調整,從基準 1000。 例如,750 表示 75% ,而 1500 表示 150%。
  • 晚: 指出最近樣本抵達延遲的參考時間。 如果樣本提早抵達,則值為負值。
  • 時間 戳: 最近範例上的時間戳記。

例如,假設時間戳記為 240 毫秒的範例, (毫秒) 到達 280 毫秒的資料流程時間轉譯器。 轉譯器會建立類型為 F一的品質訊息。 樣本已延遲 40 毫秒,因此 Late 成員為 400000。 (所有參考時間都以 100 奈秒為單位。) TimeStamp 成員為 2400000。

針對 [比例 ] 成員,轉譯器可能會使用執行中的平均值來計算值。 或許樣本已及時抵達,而此範例是異常的。 在此情況下,轉譯器可能只要求小型更正。 另一方面,如果樣本持續延遲,轉譯器可能會要求較大的更正。

品質控制是透過 IQualityControl 介面來處理。 它包含兩種方法。

實作 IQualityControl 的物件會透過其 Notify 方法接收品質訊息。 它可以處理訊息,或將訊息傳遞至另一個物件。 如果應用程式呼叫物件的 SetSink 方法,則物件應該將品質保證委派給指定的品質管制員。