2012-02-03 37 views
1

我一直在使用Flash + Zinc一段时间来创建用于实况电视节目的简单交互式软件,主要用于测验节目,现场选举结果和其他无法准备视觉效果的场景以前需要回应持续的情况。视频信号然后将从视频输出端口或VGA输出到视频转换器,并且将经过视频混合器,其将是亮度或色度键。在此设置下,应用程序的控件将驻留在输出到视频的区域下方。与在其他软件控制的本地ActiveX中运行的闪存交谈

这个设置的唯一问题是没有alpha通道,并且使用亮度和色度键控是非常有限的。

为了解决这个问题,我开始使用Caspar CG。为了我最好的理解,这个软件系统把SWF放到一个ActiveX Flash播放器中,从中可以提取颜色和alpha通道,并将它们发送到支持分离颜色和alpha通道的专业DeckLink卡。整个视觉效果非常好,但由于在播放过程中ActiveX控件不可见,因此我的SWF无法捕获鼠标或键盘事件。

我试图让SWF轮询本地Web服务器以进行输入,但它在Adobe Flash中测试时工作,但在由Caspar CG Server托管的ActiveX中播放期间失败。从我读到的内容来看,这与Flash Player中嵌入的安全政策有关,并且我对此没有太多可做的事情。

我最终让SWF以100 ms的间隔为新命令轮询本地文件。与此同时,一个简单的控制应用程序(本地XAMPP服务器中的JS + PHP - 仅仅因为我对Web开发非常放心)会将该命令写入与按下按钮相对应的文本文件中。

当文件被Flash或PHP打开时,这导致了一些问题,并且我通过让双方重试读取/写入直到它们成功来解决这个问题。

总而言之,设置工作,但我觉得它不能比这更优雅。首先,我发现SWF无法写入本地文本文件以报告其状态,因此许多高级功能实现起来是不切实际的(即使是基本的UI东西,例如在控制器端禁用按钮时也是如此动画正在SWF上播放)。

我的问题,甚至没有明确的给我,但在这里,他们是:

  1. 是否有可能为一个本地播放SWF写入光盘?
  2. 任何人都可以提出一个更好的方式来做整个沟通的事情吗?
+1

1.不是来自浏览器,出于安全原因(您应该使用AIR,取而代之,但我不知道您是否可以在这种情况下)... – AsTheWormTurns 2012-02-03 16:43:19

回答

1

#2的替代方案可能是LocalConnection,前提是您可以在同一台计算机上运行Caspar CG可执行文件和控制的swf/Zinc应用程序。

+0

看起来很有希望。将不得不进一步调查。谢谢! – Andri 2012-02-03 17:25:40

+0

试过了,它在从锌应用程序发送到CasparCG Flash模板时起作用。再次谢谢你! – Andri 2012-02-05 12:16:22

相关问题