set 命令

注意

无偏差通信 Microsoft 支持多样化且包容的环境。 在本文档中,有对单词“slave”的引用。 Microsoft 的 《Bias-Free通信风格指南》 将此视为排除词。 使用此措辞,因为它是命令中当前使用的措辞。 为了保持一致性,本文档包含此单词。 在命令中更改此单词时,我们将更正此文档以保持一致。

set 命令为设备建立控制设置。 CD 音频、数字视频、MIDI 序列器、VCR、视频磁盘、视频覆盖和波形音频设备可识别此命令。

若要发送此命令,请使用 lpszCommand 参数集调用 mciSendString 函数,如下所示。

_stprintf_s(
  lpszCommand,
  TEXT("set %s %s %s"),
  lpszDeviceID,
  lpszSetting,
  lpszFlags
);
      

参数

lpszDeviceID

MCI 设备的标识符。 打开设备时会分配此标识符或别名。

lpszSetting

用于建立控件设置的标志。 下表列出了可识别 set 命令的设备类型和每种类型使用的标志。

设备类型 命令标志
cdaudio
  • 音频全部关闭
  • 音频全部启用
  • 音频关闭
  • 音频左打开
  • 音频右关
  • 音频右打开
  • 门关闭
  • 门打开
  • 时间格式毫秒
  • 时间格式 msf
  • 时间格式 tmsf
digitalvideo
  • 音频全部关闭
  • 音频全部启用
  • 音频关闭
  • 音频左打开
  • 音频右关
  • 音频右打开
  • 门关闭
  • 门打开
  • 文件格式 格式
  • 精确查找
  • 完全关闭搜寻
  • 速度 因子
  • 静态文件格式 格式
  • 时间格式帧
  • 时间格式毫秒
  • 视频关闭
  • 视频 on
overlay
  • 音频全部关闭
  • 音频全部启用
  • 音频关闭
  • 音频左打开
  • 音频右关
  • 音频右打开
  • 门关闭
  • 门打开
  • 视频关闭
  • 视频 on
sequencer
  • 音频全部关闭
  • 音频全部启用
  • 音频关闭
  • 音频左打开
  • 音频右关
  • 音频右打开
  • 门关闭
  • 门打开
  • master MIDI
  • master none
  • master SMPTE
  • 偏移 时间
  • 端口映射器
  • 端口无
  • 端口 port_number
  • 从属文件
  • slave MIDI
  • 从属无
  • 从属 SMPTE
  • tempo tempo_value
  • 时间格式毫秒
  • 时间格式 SMPTE fps
  • 时间格式 SMPTE 30 drop
  • 时间格式歌曲指针
录像机
  • 在 上汇编记录
  • 将记录汇编关闭
  • 音频全部关闭
  • 音频全部启用
  • 音频关闭
  • 音频左打开
  • 音频右关
  • 音频右打开
  • 时钟 时间
  • 计数器格式
  • 计数器
  • 门关闭
  • 门打开
  • index 计数器
  • 索引日期
  • 索引时间
  • 索引时间
  • codelength 持续时间
  • 暂停 超时
  • postroll 持续时间 -
  • duration
  • 开机
  • 关机
  • 滚动持续时间
  • 记录格式 SP
  • 记录格式 LP
  • 记录格式 EP
  • 速度 因子
  • 时间格式帧
  • 时间格式 hms
  • 时间格式毫秒
  • 时间格式 msf
  • 时间格式 SMPTE fps
  • 时间格式 SMPTE 30 drop
  • 时间格式 tmsf
  • 时间模式计数器
  • 时间模式检测
  • 时间模式时间代码
  • 跟踪加号
  • 跟踪减号
  • 跟踪重置
videodisc
  • 音频全部关闭
  • 音频全部启用
  • 音频关闭
  • 音频左打开
  • 音频右关
  • 音频右打开
  • 门关闭
  • 门打开
  • 时间格式帧
  • 时间格式 hms
  • 时间格式毫秒
  • 时间格式跟踪
  • 视频关闭
  • 视频 on
waveaudio
  • alignment integer
  • 任何输入
  • 任何输出
  • 音频全部关闭
  • 音频全部启用
  • 音频关闭
  • 音频左打开
  • 音频右关
  • 音频右打开
  • bitspersample bit_count
  • bytespersec byte_rate
  • channels channel_count
  • 门关闭
  • 门打开
  • 格式标记 pcm
  • format 标记 标记
  • 输入 整数
  • 输出 整数
  • samplespersec 整数
  • 时间格式字节
  • 时间格式毫秒
  • 时间格式示例

下表列出了可在 lpszSetting 参数中指定的标志及其含义。

含义
alignment integer 设置数据块相对于传递到波形音频设备的数据开始的对齐方式。 文件以此格式保存。
任何输入 录制时使用支持当前格式的任何输入。 这是默认设置。
任何输出 播放时使用支持当前格式的任何输出。 这是默认设置。
在 上汇编记录
将记录汇编关闭
在汇编模式下,所有轨迹都按设备定义进行记录。 默认情况下,大多数 VCR 处于汇编模式。
音频全部关闭
音频全部启用
禁用或启用音频输出。 视频覆盖设备、MCISEQ 排序器以及 MCIWAVE 波形音频设备不支持此标志。
音频关闭
音频左打开
音频右关
音频右打开
禁用或启用向左或右音频通道输出。 视频覆盖设备、MCISEQ 排序器以及 MCIWAVE 波形音频设备不支持此标志。
bitspersample bit_count 设置每个 PCM (脉冲代码调制) 采样播放或记录的位数。 文件以此格式保存。
bytespersec byte_rate 设置每秒播放或记录的平均字节数。 文件以此格式保存。
channels channel_count 设置用于播放和录制的通道。 文件以此格式保存。
时钟 时间 将外部时钟上的时间设置为 时间。 格式指定为长无符号整数。
计数器格式 设置计数器的时间格式,由 状态 “counter”返回。 有关适用类型的信息,请参阅 set “time format”命令。
计数器 将 VCR 计数器设置为指定的值。 该值必须以当前计数器格式指定。 有关详细信息,请参阅 set “counter format”命令。
门关闭 如果可能,请收回托盘并关闭门。 对于 VCR,会自动加载磁带。
门打开 如果可能,打开门并弹出托盘或磁带。
文件格式 格式 指定用于 保存捕获 命令的文件格式。 如果省略,这可能默认为设备驱动程序定义的格式。 如果指定的文件格式与当前所选算法和质量冲突,则它们将更改为文件格式的默认值。 定义了以下文件格式:
  • avi:指定 AVI 格式。
  • avss:指定 AVSS 格式。
  • dib:指定 DIB 格式。
  • jfif:指定 JFIF 格式。
  • jpeg:指定 JPEG 格式。
  • mpeg:指定 MPEG 格式。
  • rdib:指定 RLE DIB 格式。
  • rjpeg:指定 RJPEG 格式。
格式标记 pcm 将格式类型设置为 PCM 以进行播放和录制。 文件以此格式保存。
format 标记 标记 设置播放和录制的格式类型。 文件以此格式保存。
index timecode
index 计数器
索引日期
索引时间
设置 VCR 上的当前显示屏幕。
输入 整数 设置用作输入的音频通道。
长度 持续时间 设置 VCR 中用户指定的磁带长度。 此长度由 状态 “length”命令返回,是为与需要此命令返回有效长度的应用程序兼容而提供的。
master midi 将 MIDI 排序程序设置为同步源。 同步数据以 MIDI 格式发送。 MCISEQ sequencer 不支持此标志。
master none 禁止 MIDI 排序程序发送同步数据。 MCISEQ sequencer 不支持此标志。
master smpte 将 MIDI 排序程序设置为同步源。 同步数据以 SMPTE (电影和电视工程师协会) 格式发送。 MCISEQ sequencer 不支持此标志。
偏移 时间 设置 SMPTE 偏移 时间。 偏移量是基于 SMPTE 的序列的开始时间。 时间表示为 hhmmssff,其中 hh 为小时,mm 为分钟,ss 为秒,ff 为帧。
输出 整数 设置用作输出的音频通道。
暂停 超时 设置 暂停 命令的最大持续时间(以毫秒为单位)。 超时值为零表示不会发生超时。
postroll 持续时间 设置发出 停止暂停 命令时制动 VCR 传输所需的长度(采用当前时间格式)。
端口映射器 将 MIDI 映射器设置为接收 MIDI 消息的端口。 如果另一个应用程序正在使用 MIDI 映射器或所需的端口,此命令将失败。
端口无 禁用发送 MIDI 消息。 此命令还会关闭 MIDI 端口。
端口 port_number 设置接收 MIDI 消息的 MIDI 端口。 如果尝试打开的端口正由另一个应用程序使用,此命令将失败。
开机
关机
将设备电源设置为打开或关闭。
滚动持续时间 以当前时间格式设置稳定 VCR 输出所需的长度。
记录格式 SP
记录格式 LP
记录格式 EP
将 VCR 的录制模式设置为 SP(用于标准播放),将 EP 设置为长时间播放,将 LP 设置为长时间播放。 这些值并非特定于 VHS。 它们映射到具有其他磁带格式的任意三种适当模式。 例如,SP 映射到最快、最高质量的录制。
samplespersec 整数 设置播放和录制的采样率。 文件以此格式保存。
精确查找
完全关闭搜寻
选择两种搜寻模式之一。 使用“完全启用”时,seek 将始终移动到指定的帧。 使用“完全关闭搜寻”时,seek 将移动到指定帧之前最近的关键帧。
从属文件 将 MIDI 排序器设置为使用文件数据作为同步源。 这是默认设置。
slave midi 将 MIDI 排序器设置为将传入的 MIDI 数据用于同步源。 排序器识别 MIDI 格式的同步数据。 MCISEQ 排序器不支持此标志。
从属无 将 MIDI 排序器设置为忽略同步
slave smpte 将 MIDI 排序器设置为将传入的 MIDI 数据用于同步源。 排序器使用 SMPTE 格式识别同步数据。 MCISEQ 排序器不支持此标志。
速度系数 设置工作区中的视频和音频播放的相对速度。 因子是标称帧速率与所需帧速率之间的比率,其中标称帧速率指定为 1000。 (500 的速率是正常速度的一半,2000 是正常速度的两倍,依) 将速度设置为零可以尽可能快地播放视频,而不会丢失帧和音频。
静态文件格式 格式 指定用于捕获命令的文件格式。
tempo tempo_value 根据当前时间格式设置序列的节奏。 对于基于 PPQN 的文件,tempo_value解释为每分钟的节拍数。 对于基于 SMPTE 的文件,tempo_value解释为每秒帧数。
时间格式字节 在 PCM 文件格式中,将时间格式设置为字节。 在此命令之后,所有位置信息都指定为字节。
时间格式帧 将时间格式设置为帧。 所有使用位置值的命令都将采用帧。 打开设备时,帧为默认模式。 受使用 CAV 格式的 videodiscs 支持。
时间格式 hms 将时间格式设置为小时、分钟和秒。 所有使用位置值的命令都将采用 HMS。 HMS 是 CLV 视频磁盘的默认格式。 将 HMS 值指定为 hh:mm:ss,其中 hh 为小时,mm 为分钟,ss 为秒。 如果字段和以下所有字段均为零,则可以省略该字段。 例如,3、3:0 和 3:0:0 都是表示 3 小时的有效方法。
时间格式毫秒 将时间格式设置为毫秒。 使用位置值的所有命令都将采用毫秒数。 可以将毫秒缩写为“ms”。 对于排序器设备,序列文件将默认格式设置为 PPQN 或 SMPTE。 视频覆盖设备不支持此标志。
时间格式 msf 将时间格式设置为分钟、秒和帧。 所有使用位置值的命令都将假定 MSF (CD 音频) 的默认格式。 将 MSF 值指定为 mm:ss:ff,其中 mm 为分钟,ss 为秒,ff 为帧。 如果字段和以下所有字段均为零,则可以省略该字段。 例如,3、3:0 和 3:0:0 是表示 3 分钟的有效方法。
MSF 字段具有以下最大值:
  • 分钟数 99
  • 秒 59
  • 帧 74
时间格式示例 将时间格式设置为样本。 在此命令之后,所有位置信息都指定为示例。
时间格式 smpte 24
时间格式 smpte 25
时间格式 smpte 30
将时间格式设置为 SMPTE 帧速率。 对于 VCR,将时间格式设置为 hh:mm:ss:ff,其中法定值为 00:00:00:00 到 23:59:59:xx,xx 比标志中指定的数字 24、25 或 30 指定的每秒帧数少 1。 输入时,需要冒号 (:) 来分隔组件。 如果最小有效单位为 00,则可以省略它们;例如,02:00 与 02:00:00:00 相同。 所有使用位置值的命令都将采用 SMPTE 格式。
序列文件将默认格式设置为 PPQN 或 SMPTE。
时间格式 smpte 30 drop 将时间格式设置为 SMPTE 30 丢弃帧速率。 对于与 SMPTE 30 相同的 VCR,不同之处在于,某些时间码位置从格式中删除,使每个帧 (记录的时间码位置,其 NTSC 帧速率为 29.97 fps,) 对应于实时 (30 fps) 。 删除的时间码位置如下所示:每分钟两个,每分钟两个,每分钟,每十分钟录制内容的前九个。 例如,在 01:04:59:29,下一个 timecode 位置将是 01:05:00:02,而不是 01:05:00:00。 所有使用位置值的命令都将采用 SMPTE 格式。
序列文件将默认格式设置为 PPQN 或 SMPTE。
时间格式歌曲指针 将时间格式设置为歌曲指针 (第十六个音符) 。 所有使用位置值的命令都将采用歌曲指针单位。 此标志仅对分区类型 PPQN 的序列有效。
时间格式 tmsf 将时间格式设置为曲目、分钟、秒和帧。 所有使用位置值的命令都将采用 TMSF。 将 TMSF 值指定为 tt:mm:ss:ff,其中 tt 为轨道,mm 为分钟,ss 为秒,ff 为帧。 如果字段和以下所有字段均为零,则可以省略该字段。 例如,3、3:0、3:0:0 和 3:0:0:0 都是表达轨道 3 的有效方式。
TMSF 字段具有以下最大值:
  • 曲目 99
  • 分钟数 90
  • 秒 59
  • 帧 74
时间格式轨迹 将位置格式设置为跟踪。 使用位置值的所有命令都将采用曲目。
时间模式计数器 设置位置信息模式以使用 VCR 计数器。
时间模式检测 基于对磁带上的时间码信息的检测设置位置信息模式。 如果检测到 timecode 信息,则时间类型设置为“timecode”;否则,时间类型设置为“counter”。 “检测”是一种特殊模式。 每当打开驱动程序、插入新磁带或发出“时间模式”命令时,驱动程序都会检查磁带上可用的当前时间模式,并将“时间类型”设置为“timecode”或“counter”。 设置“时间类型”后,驱动程序不会更改它,直到上述条件之一再次发生。
时间模式时间码 将位置信息模式设置为在磁带上使用“时间代码”信息。
跟踪加号
跟踪减号
跟踪重置
以精细增量调整录像带传输速度。 从 VCR 获取干扰图片时,请使用“跟踪”标志。 “跟踪加号”可提高传输速度。 “跟踪减去”会降低传输速度。 “跟踪重置”将跟踪调整返回到零。
视频关闭 禁用视频输出。
视频打开 启用视频输出。

lpszFlags

可以是“等待”、“通知”或两者。 对于数字视频和 VCR 设备,还可以指定“测试”。 有关这些标志的详细信息,请参阅 等待、通知和测试标志

返回值

如果成功,则返回零,否则返回错误。

备注

创建用于存储数据的文件时,会定义波形音频数据的多个属性。 这些属性描述数据在文件中的结构,在开始记录后无法更改。 以下列表标识这些属性:

  • 对齐 (alignment)
  • bitspersample
  • bytespersec
  • channels
  • 格式标记
  • samplespersec

示例

以下命令将时间格式设置为毫秒,并将波形音频格式设置为 8 位、单声道、11 kHz。

set mysound time format ms bitspersample 8 channels 1 samplespersec 11025

要求

要求
最低受支持的客户端
Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器
Windows 2000 Server [仅限桌面应用]

另请参阅

Mci

MCI 命令字符串

捕获

pause

保存

stop