建立 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 函式來釋放介面指標。
相關主題