[與此頁面相關聯的功能 Windows Media Format 11 SDK是舊版功能。 源讀取器 和 匯流寫入器已取代它。 來源讀取器 和 接收寫入器 已針對 Windows 10 和 Windows 11 優化。 Microsoft強烈建議新的程式碼盡可能使用 Source Reader 和 Sink Writer,而不是 Windows Media Format 11 SDK。 Microsoft建議使用舊版 API 的現有程式代碼,盡可能改寫成使用新的 API。]
寫入器的接收端是與寫入器分開的物件,必須加入到寫入器才能使用。 如果您要寫入檔案,您可以直接呼叫 IWMWriter::SetOutputFilename,這將會自動設定檔案接收器。 否則,若要將接收器新增至寫入器,請呼叫 IWMWriterAdvanced::AddSink 方法。 AddSink 需要一個指向 IWMWriterSink 介面的指標。
當您完成使用接收器時,應根據接收器的類型呼叫適當的方法來關閉它,然後通過呼叫 IWMWriterAdvanced::RemoveSink從寫入器中移除它。
下列範例程式代碼示範如何建立寫入器檔案接收,並將其新增至寫入器。 如需使用此程式碼的詳細資訊,請參閱 使用程式碼範例。
HRESULT AddFileSink(IWMWriterFileSink** ppFileSink, IWMWriter* pWriter)
{
HRESULT hr = S_OK;
IWMWriterSink* pSinkBase = NULL;
IWMWriterAdvanced* pWriterAdvanced = NULL;
hr = CreateWriterFileSink(ppFileSink);
GOTO_EXIT_IF_FAILED(hr);
hr = *ppFileSink->QueryInterface(IID_IWMWriterSink,
(void**) &pSinkBase);
GOTO_EXIT_IF_FAILED(hr);
hr = pWriter->QueryInterface(IID_IWMWriterAdvanced,
(void**) &pWriterAdvanced);
GOTO_EXIT_IF_FAILED(hr);
hr = pWriterAdvanced->AddSink(pSinkBase);
GOTO_EXIT_IF_FAILED(hr);
Exit:
SAFE_RELEASE(pSinkBase);
SAFE_RELEASE(pWriterAdvanced);
return hr;
}
相關主題
-
從“Sink”取得錯誤訊息