银光能否与连接到运行银光应用程序的计算机上的MIDI乐器通信?无论是在浏览器内还是外部。
在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合成器。