共用方式為


實作 OnSample 回呼函數

[與此頁面相關聯的功能 Windows Media Format 11 SDK是舊版功能。 Source ReaderSink Writer已由它取代。 來源讀取器接收寫入器 已針對 Windows 10 和 Windows 11 優化。 Microsoft強烈建議新程式代碼盡可能使用 Source ReaderSink Writer,而不是 Windows Media Format 11 SDK。 Microsoft建議使用舊版 API 的現有程式代碼,盡可能改寫成使用新的 API。]

異步讀取器會呼叫 IWMReaderCallback::OnSample 回呼方法,以簡報時間順序將範例傳遞至控制應用程式。 當您使用異步讀取器建立應用程式時,您必須實作 OnSample 來處理未壓縮的範例。 一般而言,為了轉譯內容而建立的函式或方法會從 onSample 內呼叫。

OnSample 回呼的一般實作包括下列步驟。

  1. 呼叫 INSSBuffer::GetBufferAndLength,從傳入的緩衝區 作為 pSample中取得包含範例之緩衝區的位置和大小。
  2. 根據輸出數字來分支您的邏輯。 輸出編號會傳遞至 OnSampledwOutputNumber
  3. 包含您想要支援之每個輸出號碼的渲染邏輯。 如果您要對多個輸出進行渲染範例,您可能需要同步渲染。

從 ASF 檔案傳遞壓縮樣本的應用程式必須實作 IWMReaderCallbackAdvanced::OnStreamSample 回呼方法。 OnStreamSample 函式幾乎與 OnSample完全相同,不同之處在於它會依據數據流編號接收壓縮的樣本,而不是依據輸出編號接收未壓縮的樣本。

IWMReaderCallback 介面

IWMReaderCallbackAdvanced 介面

使用異步讀取器讀取檔案

使用回呼方法