问题标签 [winmm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - MIDIHDR 问题
我正在尝试在 WinMM.dll 中为 MIDI 函数编写一个包装库,但我遇到了 MIDI 长消息的问题。我在 PIvnoke.net 中找到了这个(我自己添加了第一行):
但是编译时出现错误:
错误 1 类型为“WinMMM.MidiWrapper.MIDIHDR”的结构成员“WinMMM.MidiWrapper.MIDIHDR.lpNext”导致结构布局 C:\Users\Alex\Documents\Visual Studio 2010\Projects\WinMMM\WinMMM\MidiWrapper 出现循环。 cs 219 21 赢MMM
我正在使用 Visual Studio Ultimate 2010,我正在制作 C# 类库,任何帮助将不胜感激!
windows - 如果 PlaySound() 失败,是否可以检索最后的错误状态?
我问是因为即使前面的调用返回,通用也会GetLastError()
返回。我知道waveOut、mixer等有什么特定的错误函数,有没有反映最后状态的函数?ERROR_SUCCESS
PlaySound()
FALSE
winmm
PlaySound()
c# - 在 MIDI 上播放连续的类似 theremin 的声音
我正在尝试创建一个类似 theremin的程序,该程序根据鼠标光标位置播放连续音符。我正在使用 Carl Franklin 的MIDI 工具库来执行此操作。
这是我用来播放音符的代码片段。
问题在于以这种方式播放的音符听起来很明显。从一个音符到另一个音符有明显的过渡。
如何播放连续的 theremin 声音,如连续改变音高的声音?
driver - 创建虚拟 MIDI 端口
我想创建一个虚拟 MIDI 环回电缆程序,该程序创建虚拟 MIDI 端口以互连 Windows 上想要打开硬件 MIDI 端口进行通信的应用程序。
抱歉,如果我不清楚我的要求,这是一个示例应用程序,它可以完成我打算做的事情。
http://www.tobias-erichsen.de/loopMIDI.html
我该怎么做?非常感谢任何提示或指示。
visual-studio - CMAKE:如何使用 Visual Studio 将可执行文件链接到 windows 上的 winmm imm32 版本?
是否可以轻松找到这些库?
我不想重新发明轮子并编写超长的 find_library 调用!
更重要的是,我只想将“winmm.lib etc”行放入
这些库是 Windows 和 Visual Studio 的好朋友,因此他们非常清楚如何找到它们。
windows - 用winmm多声道声音,多WaveOutOpen?
我正在尝试以多通道(并行)方式在 Windows XP 上播放声音。我曾在某处读到过用 WinMM 播放并行声音可能是不可能的,但这是我观察到的:
当我调用 WaveOutOpen() 一次,然后多次调用 WaveOutWrite() 时,声音不是并行的——它们是排队的。
但是当我调用 WaveOutOpen 时说九次(然后存储九个句柄),然后用九种不同的声音调用九次 WaveOutWrite(),它们是并行播放的(多声道)——也就是说它们是混合的。
它似乎有效,但我不确定它是否可以,因为我在任何教程或文档中都没有明确说明。
以这种“许多 WaveOutOpen”的方式播放声音可以吗?
c# - C# MciSendString 记录,在调试中工作,未部署
我真的希望有人能指出我正确的方向。当我在 Visual Studio Express 2010 中调试时,此代码可以完美运行,但在构建和部署时给我 mci 错误 263 - “指定的设备未打开或被 mci 识别”。
我尝试过修改构建设置,但没有任何乐趣。当然这一定是配置问题而不是代码?
任何人都可以提供的任何帮助将不胜感激。
----- 代码如下 ----
c# - 在 Win 7 上更改程序的音量
我想更改程序的音量(而不是主音量)。我现在有以下代码:
这仅适用于 Win XP,不适用于 Windows 7(可能也适用于 Vista)。我没有找到任何可以在 Win 7 上实现相同效果的脚本,只是为了更改主卷(我不在之后)。
windows - 正确的 Windows API 以查找 CurrentControlSet\Control\MediaProperties?
我希望支持自定义操纵杆设备,但由于项目要求,我不能再使用 DirectInput API。我已经转而使用“经典”的 Windows 多媒体 API(例如joyGetDevCaps和 family),并且除了一个例外,它都能正常工作。
DirectInput DeviceInstance 有两个字段,InstanceName和ProductName,它们返回正确的“自定义”设备名称。
对应的joyGetDevCaps产品名称字段 szPname 返回一个通用的“Microsoft PC 游戏杆驱动程序”。
在安装了设备的系统上搜索注册表时,我发现此节点中有一个 REG_SZ OEMName条目,其中包含我想要的字符串:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MediaProperties\PrivateProperties\Joystick\OEM\VID_07C0&PID_1128
JOYCAPS 中返回两个字段,wMid(制造商 ID)和 wPid(产品 ID),它们映射到键名中的两个十六进制值:wMid = 0x07c0,wPid = 0x1128。
此外,我可以在 GUID_DEVINTERFACE_HID 上使用 SetupDiEnumDeviceInfo API 并找到匹配的控制器(尽管此步骤可能不是必需的):
HID\VID_07C0&PID_1128&REV_1032,HID兼容游戏控制器
问题:是否有用于枚举我应该使用的 MediaProperties\PrivateProperties 的 API,或者使用此信息并直接查询注册表是否“安全”?如果有 API,请用参考和/或示例代码回答!我找不到任何相关的东西。
windows - 如何检查 MIDI 设备是否也是 USB 设备?
如何检查 MIDI 设备是否也是 USB 设备?
似乎一直在设备标识符中检查此字符串“\\?\\usb”是不够的。