Silverlight 可以与 MIDI 乐器通信吗?
Posted
技术标签:
【中文标题】Silverlight 可以与 MIDI 乐器通信吗?【英文标题】:Can Silverlight communicate with a MIDI instrument? 【发布时间】:2009-10-19 12:06:03 【问题描述】:Silverlight 能否与连接到运行 Silverlight 应用程序的机器的 MIDI 乐器通信?进出浏览器。
【问题讨论】:
【参考方案1】:这在 Silverlight 中似乎是不可能的。要与 MIDI 设备通信,您必须在 winmm.dll
中 PInvoke 方法,而这(显然)不能在 Silverlight 中完成。见:
http://forums.silverlight.net/forums/t/123673.aspx
这可以在 WPF 或 WinForms 应用程序中轻松完成。它也可以在带有 XBAP 的浏览器中完成,尽管您需要提升权限才能访问 winmm
API,这需要证书。您仍然可以使用 .Net 制作 ActiveX 控件,但我认为您仍然需要一个证书才能获得适当的权限(尽管它可能只适用于一个可怕的安全确认对话框)。
【讨论】:
【参考方案2】:无法直接在 Silverlight 中使用 .NET 代码,因为 Silverlight 具有不同的核心。
您要在 Silverlight 中引用的所有 .NET 类都需要为 Silverlight 重新编译。
也不可能直接访问底层硬件,所以我担心你会被完全信任的 XBAP 困住(你需要签署你的应用程序,用户会收到一个请求许可的弹出窗口)。 XBAP 在浏览器中运行时为您提供所有 .NET 功能。 XBAP 将在任何安装了 .net 3.0 的 >xp 机器上的 firefox/internet explorer 上运行。
希望这会有所帮助。
【讨论】:
【参考方案3】:Silverlight 3 具有用于音频和视频的可扩展多媒体管道。您可以按程序创建自己的音频并播放。要实现您想要的,您必须编写自己的 midi 合成器。
【讨论】:
我不想弹midi,我根本不想发出任何声音,我想从midi乐器上读midi。以上是关于Silverlight 可以与 MIDI 乐器通信吗?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 unix 中将 midi 音符输出到 midi 乐器?