IAMExtTransport::GetCapability 方法 (strmif.h)
[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayer、 IMFMediaEngine 和 媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
方法 GetCapability
检索传输的常规功能。
语法
HRESULT GetCapability(
[in] long Capability,
[out] long *pValue,
[out] double *pdblValue
);
参数
[in] Capability
指定检查的功能。 有关更多信息,请参见备注。
[out] pValue
指向接收 长 整数的变量的指针。 有关更多信息,请参见备注。
[out] pdblValue
指向接收 double 的变量的指针。 有关更多信息,请参见备注。
返回值
此方法成功后,将返回S_OK。 否则,它将返回 HRESULT 错误代码。
注解
Capability 参数是指定要检查的功能的标志。 方法在 pValue 参数或 pdblValue 参数中返回结果,具体取决于功能标志。
对于以下标志,该方法在 pValue 参数中返回值 OATRUE 或 OAFALSE。 值 OATRUE 指示功能存在,而值 OAFALSE 指示该功能不存在。
功能标志 | 说明 |
---|---|
ED_TRANSCAP_CAN_ASSEMBLE | 传输可以使用汇编记录模式 (记录新轨道,这些新轨道从以前记录的段) 无缝链接到控制轨道。 |
ED_TRANSCAP_CAN_BUMP_PLAY | 传输可以按不同的速度同步。 |
ED_TRANSCAP_CAN_DELAY_AUDIO_IN | 传输可以执行延迟的音频编辑。 |
ED_TRANSCAP_CAN_DELAY_AUDIO_OUT | 传输可以执行延迟输出的音频编辑。 |
ED_TRANSCAP_CAN_DELAY_VIDEO_IN | 传输可以执行延迟的视频编辑。 |
ED_TRANSCAP_CAN_DELAY_VIDEO_OUT | 传输可以执行延迟的视频编辑。 |
ED_TRANSCAP_CAN_DETECT_LENGTH | 传输可以检测介质的长度。 |
ED_TRANSCAP_CAN_EJECT | 传输可以弹出媒体。 |
ED_TRANSCAP_CAN_FREEZE | 传输可以冻结/暂停。 |
ED_TRANSCAP_CAN_INSERT | 传输可以使用插入记录模式 (记录单个轨道,同时锁定到预先录制的控制轨道) 。 |
ED_TRANSCAP_CAN_PLAY_BACKWARDS | 传输可以向后播放。 |
ED_TRANSCAP_CAN_SET_EE | 传输可以在其输出上显示设备的输入。 |
ED_TRANSCAP_CAN_SET_PB | 传输可以在其输出上显示媒体播放。 |
ED_TRANSCAP_FIELD_STEP | 传输通过推进一个字段来响应帧前进命令。 |
ED_TRANSCAP_HAS_CLOCK | 设备具有时钟。 |
ED_TRANSCAP_HAS_DT | 设备具有动态跟踪。 |
ED_TRANSCAP_HAS_TIMER | 设备具有计时器。 |
ED_TRANSCAP_HAS_TUNER | 设备有一个调谐器。 |
ED_TRANSCAP_IS_MASTER | 设备是同步的主时钟。 |
ED_TRANSCAP_MULTIPLE_EDITS | 设备支持多个编辑事件。 |
ED_TRANSCAP_NEEDS_CUEING | 必须先提示设备,然后才能执行编辑。 |
ED_TRANSCAP_NEEDS_TBC | 需要校准设备。 |
对于以下标志, 方法在 pValue 参数中返回数值。
功能标志 | 返回的值 |
ED_TRANSCAP_LTC_TRACK | 返回 LTC 时间代码轨迹的轨迹编号,如果没有专用的时间代码轨迹,则返回ED_ALL。 |
ED_TRANSCAP_NUM_AUDIO_TRACKS | 返回音轨的数目。 |
对于以下标志, 方法在 pdblValue 参数中返回一个值。
功能标志 | 返回的值 |
ED_TRANSCAP_FWD_SHUTTLE_MAX | 航天飞机模式下的最大前进速度,是播放速度的倍数。 |
ED_TRANSCAP_FWD_SHUTTLE_MIN | 航天飞机模式下的最小前进速度,作为播放速度的倍数。 |
ED_TRANSCAP_FWD_VARIABLE_MAX | 最大前进速度,作为游戏速度的倍数。 |
ED_TRANSCAP_FWD_VARIABLE_MIN | 最小向前速度,作为游戏速度的倍数。 |
ED_TRANSCAP_REV_SHUTTLE_MAX | 航天飞机模式下的最大反向速度,是播放速度的倍数。 |
ED_TRANSCAP_REV_SHUTTLE_MIN | 航天飞机模式下的最低反向速度,是播放速度的倍数。 |
ED_TRANSCAP_REV_VARIABLE_MAX | 最大反向速度,作为播放速度的倍数。 |
ED_TRANSCAP_REV_VARIABLE_MIN | 最小反向速度,作为播放速度的倍数。 |
DV 实现
MSDV 不支持此方法。 它返回E_NOTIMPL。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | strmif.h (包括 Dshow.h) |
Library | Strmiids.lib |