共用方式為


使用檔案接收

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

在一般情況下,您只要使用 IWMWriter::SetOutputFilename 方法傳遞寫入器輸出檔案名,寫入器物件就會自動將檔案寫入磁片。 在此情況下,寫入器實際上是建立及控制寫入器檔案接收物件,以處理將檔案寫入磁片。 寫入器檔案接收物件會控制從寫入器物件到單一檔案的資料流程程。

您可以建立自己的檔案接收,以進一步控制接收寫入檔案的方式。 您也可以存取寫入器建立的預設寫入器檔案接收,以回應 對 SetOutputFilename的呼叫。

建立檔案接收

若要建立檔案接收並將它新增至寫入器,請執行下列步驟。

  1. 呼叫 WMCreateWriterFileSink 函式來建立新的接收。
  2. 呼叫 IWMWriterFileSink::Open來提供接收的檔案名。
  3. 呼叫 IWMWriterAdvanced::AddSink,將檔案接收新增至寫入器。
  4. 以一般方式執行寫入。
  5. 寫入完成後,接收會自動關閉檔案。

停止和啟動檔案接收

開始寫入作業之後,您可以呼叫 IWMWriterFileSink2::Stop來停止寫入檔案接收。

您可能會想要停止寫入接收的原因有很多。 例如,如果您要從即時來源錄製,您可能只對部分內容感興趣。

您可以呼叫 IWMWriterFileSink2::Start繼續寫入檔案接收。 [停止] 和 [開始] 都會使用簡報時間來控制命令的執行時間。 您可以使用 IWMWriterFileSink3 方法來取得更多開始和停止時間的控制。

關閉檔案接收

一般而言,檔案接收會自動關閉。 如果您已完成寫入接收,但將作業寫入其他接收會繼續,您應該明確關閉接收以節省資源。 若要關閉檔案接收,請呼叫 IWMWriterFileSink2::Close

取得接收統計資料

您可以分別呼叫 IWMWriterFileSink2::GetFileSizeIWMWriterFileSink2::GetFileDuration 來取得開啟接收的檔案大小和持續時間。

IWMWriterFileSink 介面

IWMWriterFileSink2 介面

IWMWriterFileSink3 介面

寫入器檔案接收物件

撰寫 ASF 檔案