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 [仅限桌面应用]

另请参阅

Mci

MCI 命令字符串

提示