2011-06-12 61 views
3

我在Windows窗體應用程序中有一個AxShockwaveFlash對象,並通過LoadMovie加載(AS3)電影。電影播放正確,但我從閃光燈獲取變量時遇到問題。從閃存中檢索變量值

我試過使用GetVariable,但它總是返回一個空字符串。我如何從閃存中獲取變量的值?

+0

您是否有權訪問Flash的源代碼? – 2011-06-12 21:14:54

+0

@亞當不,它是一個任意的Flash視頻。一個youtube視頻atcually,從'youtube.com/v/whatever' – 2011-06-12 21:58:54

+0

@Seth那麼你想從Flash中獲得什麼變量? – 2011-06-13 01:24:32

回答

1

我認爲AVM2新的安全策略需要你明確地暴露使用ExternalInterface的容器應用程序的變量/函數。

如果你不能編輯swf,我想不出有辦法訪問它們。不過,使用AS2很容易,如果你定義了它,你可以通過javascript/C#/無論在swf中沒有任何額外的代碼來獲取和設置它。

0

呦可以使用fscommand方法從Shockwave播放器跟C#:

fscommand("sendCmd", arg); 

趕在C#中使用值

flashPlayer.FSCommand += new AxShockwaveFlashObjects._IShockwaveFlashEvents_FSCommandEventHandler(flashPlayer_FSCommand); 
.... 
void flashPlayer_FSCommand(object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_FSCommandEvent e) 
{ 
    tbOut.Text += e.command + " (" + e.args + ")" + "\r\n"; 
} 
+0

這是行不通的,因爲正如問題評論中提到的那樣,它使用的是預編譯的SWF,因此無法在ActionScript中添加fscommand代碼。 – 2011-06-13 08:21:32

+0

@ AdamHarte,這是傷心:( – Eugeny89 2011-06-13 08:30:45

+0

但謝謝你嘗試:( – 2011-06-13 14:10:44