2012-02-03 38 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

相關問題