问题标签 [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.

0 投票
3 回答
447 浏览

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# 类库,任何帮助将不胜感激!

0 投票
1 回答
340 浏览

windows - 如果 PlaySound() 失败,是否可以检索最后的错误状态?

我问是因为即使前面的调用返回,通用也会GetLastError()返回。我知道waveOut、mixer等有什么特定的错误函数,有没有反映最后状态的函数?ERROR_SUCCESSPlaySound()FALSEwinmmPlaySound()

0 投票
3 回答
1260 浏览

c# - 在 MIDI 上播放连续的类似 theremin 的声音

我正在尝试创建一个类似 theremin的程序,该程序根据鼠标光标位置播放连续音符。我正在使用 Carl Franklin 的MIDI 工具库来执行此操作。

这是我用来播放音符的代码片段。

问题在于以这种方式播放的音符听起来很明显。从一个音符到另一个音符有明显的过渡。

如何播放连续的 theremin 声音,如连续改变音高的声音?

0 投票
2 回答
9673 浏览

driver - 创建虚拟 MIDI 端口

我想创建一个虚拟 MIDI 环回电缆程序,该程序创建虚拟 MIDI 端口以互连 Windows 上想要打开硬件 MIDI 端口进行通信的应用程序。

抱歉,如果我不清楚我的要求,这是一个示例应用程序,它可以完成我打算做的事情。

http://www.tobias-erichsen.de/loopMIDI.html

我该怎么做?非常感谢任何提示或指示。

0 投票
1 回答
3651 浏览

visual-studio - CMAKE:如何使用 Visual Studio 将可执行文件链接到 windows 上的 winmm imm32 版本?

是否可以轻松找到这些库?

我不想重新发明轮子并编写超长的 find_library 调用!

更重要的是,我只想将“winmm.lib etc”行放入

这些库是 Windows 和 Visual Studio 的好朋友,因此他们非常清楚如何找到它们。

0 投票
3 回答
3162 浏览

windows - 用winmm多声道声音,多WaveOutOpen?

我正在尝试以多通道(并行)方式在 Windows XP 上播放声音。我曾在某处读到过用 WinMM 播放并行声音可能是不可能的,但这是我观察到的:

当我调用 WaveOutOpen() 一次,然后多次调用 WaveOutWrite() 时,声音不是并行的——它们是排队的。

但是当我调用 WaveOutOpen 时说九次(然后存储九个句柄),然后用九种不同的声音调用九次 WaveOutWrite(),它们是并行播放的(多声道)——也就是说它们是混合的。

它似乎有效,但我不确定它是否可以,因为我在任何教程或文档中都没有明确说明。

以这种“许多 WaveOutOpen”的方式播放声音可以吗?

0 投票
2 回答
3110 浏览

c# - C# MciSendString 记录,在调试中工作,未部署

我真的希望有人能指出我正确的方向。当我在 Visual Studio Express 2010 中调试时,此代码可以完美运行,但在构建和部署时给我 mci 错误 263 - “指定的设备未打开或被 mci 识别”。

我尝试过修改构建设置,但没有任何乐趣。当然这一定是配置问题而不是代码?

任何人都可以提供的任何帮助将不胜感激。

----- 代码如下 ----

0 投票
2 回答
7177 浏览

c# - 在 Win 7 上更改程序的音量

我想更改程序的音量(而不是音量)。我现在有以下代码:

这仅适用于 Win XP,不适用于 Windows 7(可能也适用于 Vista)。我没有找到任何可以在 Win 7 上实现相同效果的脚本,只是为了更改主卷(我不在之后)。

0 投票
1 回答
1033 浏览

windows - 正确的 Windows API 以查找 CurrentControlSet\Control\MediaProperties?

我希望支持自定义操纵杆设备,但由于项目要求,我不能再使用 DirectInput API。我已经转而使用“经典”的 Windows 多媒体 API(例如joyGetDevCaps和 family),并且除了一个例外,它都能正常工作。

DirectInput DeviceInstance 有两个字段,InstanceNameProductName,它们返回正确的“自定义”设备名称。

对应的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,请用参考和/或示例代码回答!我找不到任何相关的东西。

0 投票
1 回答
262 浏览

windows - 如何检查 MIDI 设备是否也是 USB 设备?

如何检查 MIDI 设备是否也是 USB 设备?

似乎一直在设备标识符中检查此字符串“\\?\\usb”是不够的。