随笔 - 2146  文章 - 19 评论 - 11846 阅读 - 1267万

//声明:
midiOutGetDevCaps(
  uDeviceID: UINT;      {设备 ID}
  lpCaps: PMidiOutCaps; {TMidiOutCaps 结构的指针}
  uSize: UINT           {TMidiOutCaps 结构的大小}
): MMRESULT;       {成功返回 0; 可能的错误值见下:}

MMSYSERR_BADDEVICEID = 2{设备ID超界}
MMSYSERR_NODRIVER    = 6{没有安装驱动程序}

//TMidiOutCaps 是 tagMIDIOUTCAPSA 结构的重定义:
tagMIDIOUTCAPSA = record
  wMid: Word;                  {商家 ID}
  wPid: Word;                  {产品 ID}
  vDriverVersion: MMVERSION;   {版本号; 高位字节是主版本号、低位字节是次版本号}
  szPname: array[0..MAXPNAMELEN-1] of AnsiChar; {产品名称}
  wTechnology: Word;           {设备类型}
  wVoices: Word;               {音色数(仅对合成器, 否则为0)}
  wNotes: Word;                {最大发音数(仅对合成器, 否则为0)}
  wChannelMask: Word;          {通道数(仅对合成器, 否则为0)}
  dwSupport: DWORD;            {设备支持的其他功能}
end;

//设备类型 wTechnology 可选值:
MOD_MIDIPORT = 1; {MIDI 硬件端口}
MOD_SYNTH    = 2; {普通合成器}
MOD_SQSYNTH  = 3; {方波合成器}
MOD_FMSYNTH  = 4; {FM 合成器}
MOD_MAPPER   = 5; {Microsoft MIDI 映射器}

//设备支持的其他功能 dwSupport:
MIDICAPS_VOLUME   = $0001; {支持音量控制}
MIDICAPS_LRVOLUME = $0002; {支持左右声道音量控制}
MIDICAPS_CACHE    = $0004; {支持音色高速缓存}
MIDICAPS_STREAM   = $0008; {设备直接支持 midiStreamOut}

//举例:
posted on   万一  阅读(1748)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧


点击右上角即可分享
微信分享提示