我打算开发一个屏幕录制软件。这类似于微软的Live Meeting
是否可以使用 Silverlight 编写这样的应用程序?
PS,我更喜欢 Silverlight 的原因是因为它支持 X-Platform。
我打算开发一个屏幕录制软件。这类似于微软的Live Meeting
是否可以使用 Silverlight 编写这样的应用程序?
PS,我更喜欢 Silverlight 的原因是因为它支持 X-Platform。
我不知道性能是否足够好,但是有一个 CopyFromScreen 方法可以让您从给定窗口截取屏幕截图。如果您以足够的帧速率拍摄屏幕截图,则可以将它们流式传输到客户端。
有关如何捕获屏幕截图的示例,请参阅http://www.dotnetcurry.com/ShowArticle.aspx?ID=303 。
我的理解是位图采样是此类软件的标准方法。
Silverlight 本身不支持屏幕抓取,因此要使其正常工作,您必须离开 Silverlight 的沙箱。
使用 Silverlight 4,您可以调用外部自动化对象 (COM) 来获取屏幕截图并将其传递给应用程序。这种方法的缺点是:需要提高信任度,仅限 Windows,并且需要额外的安装步骤。
Silverlight 5 将支持 P/Invoke,这应该会让事情变得更容易一些。但这仍然使 Mac 无法参与。一般来说,我会说在 Silverlight 中这样做是不值得的。如果可移植性对您很重要,请考虑使用 .net + moonlight。