建立 ASF 分割器物件
ASF 分割器 物件是 WMContainer 層物件,可剖析進階系統格式的 ASF 資料物件 (ASF) 檔案。 若要建立 ASF 分割器物件的新實例,請呼叫 MFCreateASFSplitter 函式。 此函式會傳回代表空分隔器物件的 IMFASFSplitter 介面指標。
在分割器開始剖析之前,應用程式必須先使用 ASF 標頭物件中的資訊來初始化分割器。 若要初始化分割器,請呼叫 IMFASFSplitter::Initialize 方法。 這個方法會採用 ASF ContentInfo 物件的 指標,其中包含要剖析之 ASF 檔案的標頭資訊。 應用程式必須先初始化 ContentInfo 物件,再將它傳遞至分割器,讓應用程式知道媒體檔案的特性。 分割器的 Initialize 方法會從 ContentInfo 物件擷取資料流程資訊,例如資料流程編號,因此分割器可以剖析資料封包。
範例
下列程式碼範例示範如何建立分割器,並使用現有的 ContentInfo 物件加以初始化。
// Create and initialize the ASF splitter.
HRESULT CreateASFSplitter (IMFASFContentInfo* pContentInfo,
IMFASFSplitter** ppSplitter)
{
IMFASFSplitter *pSplitter = NULL;
// Create the splitter object.
HRESULT hr = MFCreateASFSplitter(&pSplitter);
// Initialize the splitter to work with specific ASF data.
if (SUCCEEDED(hr))
{
hr = pSplitter->Initialize(pContentInfo);
}
if (SUCCEEDED(hr))
{
// Return the object to the caller.
*ppSplitter = pSplitter;
(*ppSplitter)->AddRef();
}
SafeRelease(&pSplitter);
return hr;
}
注意
此範例會使用 SafeRelease 函式來釋放介面指標。
相關主題