IMFCaptureSource::GetAvailableDeviceMediaType 方法 (mfcaptureengine.h)

获取捕获流之一支持的格式。

语法

HRESULT GetAvailableDeviceMediaType(
  [in] DWORD        dwSourceStreamIndex,
  [in] DWORD        dwMediaTypeIndex,
  [in] IMFMediaType **ppMediaType
);

参数

[in] dwSourceStreamIndex

要查询的流。 该值可以是以下任意值。

含义
0–0xFFFFFFFB
流的从零开始的索引。 若要获取流数,请调用 IMFCaptureSource::GetDeviceStreamCount
MF_CAPTURE_ENGINE_FIRST_SOURCE_PHOTO_STREAM
0xFFFFFFFB
第一个图像流。
MF_CAPTURE_ENGINE_FIRST_SOURCE_VIDEO_STREAM
0xFFFFFFFC
第一个视频流。
MF_CAPTURE_ENGINE_FIRST_SOURCE_AUDIO_STREAM
0xFFFFFFFD
第一个音频流。

[in] dwMediaTypeIndex

要检索的媒体类型的从零开始的索引。

[in] ppMediaType

接收指向 IMFMediaType 接口的指针。 调用方必须释放接口。

返回值

此方法可以返回其中一个值。

返回代码 说明
S_OK
成功。
MF_E_INVALIDSTREAMNUMBER
dwSourceStreamIndex 参数无效。
MF_E_NO_MORE_TYPES
dwMediaTypeIndex 参数在范围外。

注解

若要枚举流上的所有可用格式,请在循环中调用此方法,同时递增 dwMediaTypeIndex,直到该方法返回 MF_E_NO_MORE_TYPES

某些相机可能支持一系列帧速率。 最小和最大帧速率存储在 媒体类型的MF_MT_FRAME_RATE_RANGE_MINMF_MT_FRAME_RATE_RANGE_MAX 属性中。

要求

要求
最低受支持的客户端 Windows 8 [仅限桌面应用]
最低受支持的服务器 Windows Server 2012 [仅限桌面应用]
目标平台 Windows
标头 mfcaptureengine.h

另请参阅

IMFCaptureSource