是否有适用于 Windows Vista/7/8 的新 Midi API?
Posted
技术标签:
【中文标题】是否有适用于 Windows Vista/7/8 的新 Midi API?【英文标题】:Is there a new Midi API for Windows Vista/7/8? 【发布时间】:2012-11-16 11:56:38 【问题描述】:我知道 midiXxx API,但我看到它目前列在 msdn 的“旧版”下。 http://msdn.microsoft.com/en-us/library/windows/desktop/dd743619(v=vs.85).aspx
我应该使用其他一些 API 来针对较新的 Windows 版本吗?
旧 API 是否仍可在 Windows 7 和 8 上运行?
谢谢, 马克
【问题讨论】:
MIDI 很古老,已经 30 岁了。没有更改,因此无需更改 API。它在现代 Windows 版本上运行良好。 是的,旧 API 在 Windows 7 和 8 中仍然有效,但据我所知,由于整个 winmm 不可用,因此无法在 Windows 8 商店应用程序中使用 MIDI 设备。 请注意,对于 Win32 桌面应用程序,由于带有时间戳的 MIDI,Windows 7 x64 及更高版本支持“核心”DirectMusic API。 【参考方案1】:上周五,Microsoft 发布了用于 MIDI 的预览版 Windows Runtime API。在此处查看 //build/ 会话: http://channel9.msdn.com/Events/Build/2014/3-548
MSDN:http://msdn.microsoft.com/en-us/library/windows/apps/dn643522.aspx
虽然是预览版,但应用可以上线并部署到 Windows 应用商店。请让我们知道您喜欢或不喜欢什么。祝您应用构建愉快!
【讨论】:
【参考方案2】:对于桌面应用程序(非 Metro),您仍然可以安全地使用旧版 API。
遗憾的是,对于 WinRT/Metro,根本没有 midi 支持(请参阅 msdn 上的 discussion)。
希望他们会改变这一点。
【讨论】:
哇...这太疯狂了。我想我不会购买 Windows Metro 设备。 布拉德,看看我的新评论。有一些解决方法(我希望音乐家会使用)。 IIRC,ios 直到 v3 才支持 MIDI。【参考方案3】:Catflier 是正确的,WinRT 中没有对 MIDI 的直接支持(在 API 级别)。但是,如果您想在您的应用程序中拥有类似 MIDI 的功能,则有一些变通方法。一个越来越流行的协议是network-based OSC (Open Sound Control).,因为它是基于网络的,你可以使用它。
例如,可以使用The Missing Link 之类的外部硬件,它将MIDI 转换为OSC。您将 MIDI 设备连接到 The Missing Link,然后将其转换为发送到计算机的 OSC 消息。然后,您的应用程序可以接收 OSC 消息并与 MIDI 设备对话。我没有任何代码可以在这里显示,但我已经看到了这个工作的演示。
您可以看到 OSC 在 iOS 上的使用以及流行的应用程序like TouchOSC。
【讨论】:
是的,你说有解决方法是正确的,但他们的问题是它们是......解决方法))。此外,像 Missing Link 这样的硬件确实可以将 osc 转换为 midi,通常您需要反过来(例如,只需将 USB midi 设备插入您的计算机)。尽管我很喜欢 OSC(也经常使用它),但 Midi 已经过验证且非常可靠(我可以使用 midi 控制器在夜间运行节目,因为我知道它不会让我失望,我几乎不能对无线说同样的话路由器)。所以仍然希望能在 Metro 中提供原生 MIDI 支持。 我们完全同意 :)。作为一名音乐家,我希望未来也能做到这一点。以上是关于是否有适用于 Windows Vista/7/8 的新 Midi API?的主要内容,如果未能解决你的问题,请参考以下文章
是否有适用于 Windows 的免费堆损坏检测工具? [复制]
是否有任何适用于 Windows 的 unshar 实用程序?