使用檔案接收
[與此頁面相關聯的功能 Windows Media Format 11 SDK是舊版功能。 來源讀取器和接收寫入器已取代它。 來源讀取器和接收寫入器已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用來源讀取器和接收寫入器,而不是Windows 媒體格式 11 SDK。 Microsoft 建議使用舊版 API 的現有程式碼盡可能重寫為使用新的 API。
在一般情況下,您只要使用 IWMWriter::SetOutputFilename 方法傳遞寫入器輸出檔案名,寫入器物件就會自動將檔案寫入磁片。 在此情況下,寫入器實際上是建立及控制寫入器檔案接收物件,以處理將檔案寫入磁片。 寫入器檔案接收物件會控制從寫入器物件到單一檔案的資料流程程。
您可以建立自己的檔案接收,以進一步控制接收寫入檔案的方式。 您也可以存取寫入器建立的預設寫入器檔案接收,以回應 對 SetOutputFilename的呼叫。
建立檔案接收
若要建立檔案接收並將它新增至寫入器,請執行下列步驟。
- 呼叫 WMCreateWriterFileSink 函式來建立新的接收。
- 呼叫 IWMWriterFileSink::Open來提供接收的檔案名。
- 呼叫 IWMWriterAdvanced::AddSink,將檔案接收新增至寫入器。
- 以一般方式執行寫入。
- 寫入完成後,接收會自動關閉檔案。
停止和啟動檔案接收
開始寫入作業之後,您可以呼叫 IWMWriterFileSink2::Stop來停止寫入檔案接收。
您可能會想要停止寫入接收的原因有很多。 例如,如果您要從即時來源錄製,您可能只對部分內容感興趣。
您可以呼叫 IWMWriterFileSink2::Start繼續寫入檔案接收。 [停止] 和 [開始] 都會使用簡報時間來控制命令的執行時間。 您可以使用 IWMWriterFileSink3 方法來取得更多開始和停止時間的控制。
關閉檔案接收
一般而言,檔案接收會自動關閉。 如果您已完成寫入接收,但將作業寫入其他接收會繼續,您應該明確關閉接收以節省資源。 若要關閉檔案接收,請呼叫 IWMWriterFileSink2::Close。
取得接收統計資料
您可以分別呼叫 IWMWriterFileSink2::GetFileSize 和 IWMWriterFileSink2::GetFileDuration 來取得開啟接收的檔案大小和持續時間。
相關主題