IMFSourceReaderEx::SetNativeMediaType 方法 (mfreadwrite.h)
設定媒體來源上數據流的原生媒體類型。
語法
HRESULT SetNativeMediaType(
[in] DWORD dwStreamIndex,
[in] IMFMediaType *pMediaType,
[out] DWORD *pdwStreamFlags
);
參數
[in] dwStreamIndex
[in] pMediaType
媒體類型 之 IMFMediaType 介面的指標。
[out] pdwStreamFlags
接收下列旗標的位 OR 為零或多個。
值 | 意義 |
---|---|
|
所有效果都已從數據流中移除。 |
|
目前的輸出類型已變更。 |
傳回值
這個方法可以傳回其中一個值。
傳回碼 | 描述 |
---|---|
|
成功。 |
|
無效的要求 |
|
dwStreamIndex 參數無效。 |
備註
這個方法會設定媒體來源所產生的輸出類型。 不同於 IMFSourceReader::SetCurrentMediaType 方法,這個方法不會插入任何譯碼器、視訊處理器或其他轉換。 媒體來源必須原生支援指定的媒體類型。 若要從媒體來源取得支援的型別清單,請呼叫 IMFSourceReader::GetNativeMediaType。
在異步模式中,如果範例要求擱置,這個方法就會失敗。 在此情況下,請先等候 OnReadSample 回呼叫用,再呼叫 方法。 如需在異步模式中使用來源讀取器的詳細資訊,請參閱 IMFSourceReader::ReadSample。
這個方法可以觸發數據流輸出格式的變更。 如果是,則會在 pdwStreamFlags 參數中傳回MF_SOURCE_READERF_CURRENTMEDIATYPECHANGED旗標。 方法也可能造成來源讀取器移除 由IMFSourceReaderEx::AddTransformForStream 方法新增的任何效果。 如果發生這種情況,則會在 pdwStreamFlags 中傳回MF_SOURCE_READERF_ALLEFFECTSREMOVED旗標。
此方法適用於音訊和視訊擷取裝置,因為裝置可能支援數種輸出格式。 這個方法可讓應用程式在新增譯碼器和其他轉換之前選擇裝置格式。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 8 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2012 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | mfreadwrite.h |