录制

常规 MCI 规范支持使用数字视频、MIDI 排序器、视频盒式录音机 (VCR) 和波形音频设备进行录制:但是,目前只有波形音频和 VCR 设备实现录制功能。 可以在现有文件中插入或覆盖记录的信息,也可以将记录插入或覆盖到新文件中。 若要录制到现有文件,请像平常一样打开波形音频设备和文件。 若要记录到新文件中,请在打开设备时指定“new”作为设备名称(如果使用命令字符串接口)。 如果使用命令消息接口,请指定零长度文件名。

当 MCI 创建用于记录的新文件时,数据格式将设置为设备驱动程序指定的默认格式。 若要使用默认格式以外的格式,可以使用 set (MCI_SET) 命令。

若要开始录制,请使用 记录 命令 (或 MCI_RECORDMCI_RECORD_PARMS 结构) 。

如果在插入模式下录制到现有文件,则可以使用 记录 命令的“from” (MCI_FROM) 和“to” (MCI_TO) 标志来指定录制的开始和结束位置。 例如,如果录制到长度为 20 秒的文件,并在 5 秒处开始录制,在 10 秒处结束录制,则生成的文件将长 25 秒。 文件将在原始录制中插入 5 秒的 5 秒段。

如果使用覆盖模式记录现有文件,则可以使用“from”和“to”标志来指定被覆盖的节的开始和结束位置。 例如,如果录制到一个长度为 20 秒的文件,并且以 5 秒开始录制,并在 10 秒处结束录制,则仍有 20 秒长的录制,但将替换从 5 秒开始以 10 秒结束的部分。

如果未指定结束位置,录制将一直持续到你发送 停止 (MCI_STOP) 命令,或直到驱动程序用完可用磁盘空间。 如果录制到新文件,则可以省略“from”标志或将其设置为零以在新文件的开头开始录制。 可以指定录制到新文件时终止录制的结束位置。

记录命令有时精确到起始位置的 1 秒内,例如 VCR 设备。 若要更准确地录制,应使用 提示 (MCI_CUE) 命令。 数字视频、VCR 和波形音频设备可识别此命令。 有关使用 VCR 设备进行录制的详细信息,请参阅 VCR 服务

保存录制的文件

录制完成后,使用 保存 命令 (或 MCI_SAVEMCI_SAVE_PARMS 结构) 在关闭设备之前保存录制。

注意

如果在未保存的情况下关闭设备,则记录的数据将丢失。

 

检查输入级别 (PCM 仅)

若要在 PCM (脉冲代码调制) 波形音频输入设备上录制之前获取输入信号的级别,请使用 状态 (MCI_STATUS) 命令。 指定“level”标志 (或MCI_STATUS_ITEM标志,并将MCI_STATUS_PARMS结构的 dwItem 成员设置为MCI_WAVE_STATUS_LEVEL) 。 返回平均输入信号级别。 左声道值位于高序字中,右声道值或单声道值位于低序字中。

输入级别表示为无符号值。 对于 8 位样本,此值在 0 到 127 (0x7F) 范围内。 对于 16 位样本,其范围为 0 到 32,767 (0x7FFF) 。