capability 命令
功能命令请求有关设备的特定功能的信息。 所有 MCI 设备都识别此命令。
若要发送此命令,请使用 lpszCommand 参数集调用 mciSendString 函数,如下所示。
_stprintf_s(
lpszCommand,
TEXT("capability %s %s %s"),
lpszDeviceID,
lpszRequest,
lpszFlags
);
参数
-
lpszDeviceID
-
MCI 设备的标识符。 打开设备时会分配此标识符或别名。
-
lpszRequest
-
标识设备功能的标志。 下表列出了可识别 功能 命令的设备类型以及每种类型使用的标志:
值 类型 类型 cdaudio - 可以弹出
- 可以玩
- 可以记录
- 可以保存
- 复合设备
- 设备类型 (device type)
- 有音频
- 有视频
- 使用文件
digitalvideo - 可以弹出
- 可以冻结
- 可以锁定
- 可以玩
- 可以记录
- 可以反向
- 可以保存
- 可以拉伸
- 可以拉伸输入
- 可以测试
- 复合设备
- 设备类型 (device type)
- 有音频
- 仍然有
- 有视频
- 最大播放速率
- 最低播放速率
- 使用文件
- 使用调色板
- windows
overlay - 可以弹出
- 可以冻结
- 可以玩
- 可以记录
- 可以保存
- 可以拉伸
- 复合设备
- 设备类型 (device type)
- 有音频
- 有视频
- 使用文件
- windows
sequencer - 可以弹出
- 可以玩
- 可以记录
- 可以保存
- 复合设备
- 设备类型 (device type)
- 有音频
- 有视频
- 使用文件
录像机 - 可以检测长度
- 可以弹出
- 可以冻结
- 可以监视源
- 可以玩
- 可以预滚动
- 可以预览
- 可以记录
- 可以反向
- 可以保存
- 可以测试
- 时钟递增率
- 复合设备
- 设备类型 (device type)
- 有音频
- 具有时钟
- has timecode
- 有视频
- 标记数
- 搜寻准确性
- 使用文件
videodisc - 可以弹出
- 可以玩
- 可以记录
- 可以反向
- 可以保存
- CAV
- CLV
- 复合设备
- 设备类型 (device type)
- 快速播放速率
- 具有音频
- 有视频
- 正常播放速率
- 慢速播放速率
- 使用文件
waveaudio - 可以弹出
- 可以玩
- 可以记录
- 可以保存
- 复合设备
- 设备类型 (device type)
- 具有音频
- 有视频
- inputs
- outputs
- 使用文件
下表列出了可在 lpszRequest 参数中指定的标志及其含义:
Flags 含义 可以检测长度 如果设备可以检测到媒体的长度,则返回 TRUE 。 可以弹出 如果设备可以弹出媒体,则返回 TRUE 。 可以冻结 如果设备可以冻结帧缓冲区中的数据,则返回 TRUE 。 可以锁定 如果设备可以锁定数据,则返回 TRUE 。 可以监视源 如果设备可以将输入 (源) 传递到受监视的输出,而不与当前输入选择无关,则返回 TRUE 。 可以玩 如果设备可以播放,则返回 TRUE 。 可以预滚动 如果设备支持带有提示命令的“预滚动”标志,则返回 TRUE。 可以预览 如果设备支持预览,则返回 TRUE 。 可以记录 如果设备支持录制,则返回 TRUE 。 可以反转 如果设备可以反向播放,则返回 TRUE 。 可以保存 如果设备可以保存数据,则返回 TRUE 。 可以拉伸 如果设备可以拉伸帧以填充给定的显示矩形,则返回 TRUE 。 可以拉伸输入 如果设备可以在将图像数字化到帧缓冲区的过程中调整其大小,则返回 TRUE 。 可以测试 如果设备识别测试关键字 (keyword) ,则返回 TRUE。 cav 与其他项结合使用时,此标志指定返回信息应用于 CAV 格式视频磁盘。 如果未插入任何 videodisc,则这是默认值。 时钟递增率 返回外部时钟每秒支持的细分数。 如果外部时钟是毫秒时钟,则返回值为 1000。 如果返回值为 0,则不支持任何时钟。 clv 与其他项结合使用时,此标志指定返回信息应用于 CLV 格式视频磁盘。 复合设备 如果设备支持元素名称 (文件名) ,则返回 TRUE 。 设备类型 (device type) 返回设备类型名称,可以是下列名称之一: - cdaudio
- dat
- digitalvideo
- 其他
- overlay
- 扫描程序
- sequencer
- 录像机
- videodisc
- waveaudio
快速播放速率 返回以帧/秒为单位的快速播放速率;如果设备无法快速播放,则返回零。 具有音频 如果设备支持音频播放,则返回 TRUE 。 具有时钟 如果设备具有时钟,则返回 TRUE 。 仍然有 如果设备处理具有单个图像的文件比运动视频文件更高效,则返回 TRUE 。 has timecode 如果设备能够支持时间码,或者未知,则返回 TRUE 。 有视频 如果设备支持视频,则返回 TRUE 。 inputs 返回输入设备的总数。 最大播放速率 返回设备的最大播放速率(以帧/秒为单位)。 最低播放速率 返回设备的最小播放速率(以帧/秒为单位)。 正常播放速率 返回设备的正常播放速率(以帧/秒为单位)。 标记数 返回可以使用的最大标记数;零表示标记不受支持。 outputs 返回输出设备的总数。 搜寻准确性 以帧形式返回搜索的预期准确性;0 表示设备帧准确,1 表示设备预期位于所指示的搜寻位置的一帧内,依此。 播放速度缓慢 返回慢速播放速率(以每秒帧为单位),如果设备无法缓慢播放,则返回零。 使用文件 如果复合设备使用的数据存储是文件,则返回 TRUE 。 使用调色板 如果设备使用调色板,则返回 TRUE 。 windows 返回设备可以支持的同时显示窗口数。 -
lpszFlags
-
可以是“等待”、“通知”或两者。 对于数字视频和 VCR 设备,还可以指定“测试”。 有关这些标志的详细信息,请参阅 等待、通知和测试标志。
返回值
返回 mciSendString 函数的 lpszReturnString 参数中的信息。 信息取决于请求类型。
示例
以下命令返回“mysound”设备的设备类型。
capability mysound device type
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 |
Windows 2000 Server [仅限桌面应用] |