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