2012-01-12 104 views
1

我是新來創建Flex應用程序和努力的目標Flash Player的10.2與我的第一次。我使用Flash Builder 4.6創建了它,並使用4.5a SDK編譯。我還設置了在Adobe Flash Player選項中選擇10.2.0的選項。當我創建的發佈版本,沒有任何錯誤和生成的HTML文件包含以下內容:Flash Builder的4.6不編譯爲Flash Player 10.2

// For version detection, set to min. required Flash Player version, or 0 (or 0.0.0), for no version detection. 
var swfVersionStr = "10.2.0"; 

但是,如果我嘗試使用的插件,它說的的10.2參觀在瀏覽器中的應用需要11.1。對於只使用stop()和getURL()的簡單Flash CS5動畫,我也有同樣的問題。動畫的作品,但並沒有停止。

感謝您的詳細答覆wxvxw現在我已經採取了我的編譯器選項的屏幕截圖,但不能在這裏表現出來,因爲我是一個新用戶,但該網址是...

https://lh6.googleusercontent.com/-3xEJ0RTFG-8/Tw9rJt2UloI/AAAAAAAAARs/Ruu9Em66fgo/s800/fboptions.PNG

我試過-target玩家10.2.0(以前),現在-target播放器10.2,但既不工作。我還將playerglobal.swc放在以下目錄中: C:\ Program Files(x86)\ Adob​​e \ Adob​​e Flash Builder 4.6 \ sdks \ 4.5.0 \ frameworks \ libs \ player \ 10.2

謝謝。擔。

回答

3

IIRC,隨FB 4.6 SDK只有FP 10.1和10.3 FP庫。因此,爲了編譯FP 10.2,你必須找到相應的playerglobal.swc(也許查看舊的SDK版本?)。

現在,關於您的設置:要編譯的編譯器參數設置播放器的版本,有多種方法可以做到這一點,但它看起來像你做別的東西,而不是:)爲了要編譯特定的播放器版本,編譯器需要知道該播放器的版本是如何表現的,也就是說,它需要描述該播放器當時所有的內置函數。 playerglobal.swc提供了這些函數的定義(搜索您的SDK文件夾中的可能位置)。 -target-player是您需要的編譯器參數。一種告訴編譯器目標器是什麼的方法是打開項目設置,並在附加的編譯器參數行中輸入類似-target-player 10.2的東西。請注意,您可能沒有合適的playerglobal.swc。這種情況下的編譯器錯誤將粗略地指向要找到這個庫的目錄。

Flash Builder和SDK從未有過11+播放器的需求(更多的是,SDK甚至還沒有針對這個版本進行測試),所以這個要求是不相關的(你使用Google Chrome進行測試,也許你需要檢查about:plugins頁面?)。什麼,你沒設置一些變量,應該說是用來嵌入SWF JavaScript的腳本,需要什麼樣的球員的最低版本運行的SWF,這對SWF本身沒有影響,它只是爲用戶的信息(你應該以這種方式來設置它,以防萬一用戶使用老版本的播放器,他們會被告知升級)。如果您使用了FB的代碼生成或Adobe提供的Ant任務來生成包含SWF的HTML頁面,那麼此變量將設置爲與編譯SWF所用的版本相同的版本,否則,您需要將其調整爲適當的價值。

+0

感謝您的回覆,我現在編輯了我原來的帖子。 – 2012-01-12 23:29:34

+0

再次感謝,我試過獨立播放器,它確實打開。應用程序顯示一些圖表,並且\ bar不會顯示在所有這些圖表上,但這是朝正確方向邁出的一步。我也看了debug.xml文件,發現這些條目: 11 10.2 2012-01-13 10:42:09

+0

我之前打開過本地的swf,我在獨立播放器中打開了在線版本,它工作正常,顯示數據等。我認爲你已經破解了它,它必須是爲我創建的包裝器,儘管我無法看到文件中的問題出在哪裏。謝謝。 – 2012-01-13 10:57:36

3

我有同樣的經歷,但它不是沒有安裝Flash的問題。我已經使用特定的SDK(Flex 4.5.1A)和特定版本的Flash Player(10.2.0)在Flashbuilder 4.6中設置了我的項目,但我的客戶端無法在Flash 10中播放它。3(他們是由他們的IT部門到那個版本的限制,仍然)

我的解決辦法:添加-swf-10版的附加編譯器參數

我周圍挖,發現SWF的第四個字節文件指示它的內置版本是什麼版本;當我執行導出來發佈構建時,第四個字符是十六進制0B而不是0A。

我跑了,這是在SDK bin中的swfdump.exe和找到的版本是11 <swf xmlns='http://macromedia/2003/swfx' version='11' framerate='24' size='10000x7500' compressed='true' >

添加以下吃出flashbuilder使用來構建項目 -dump-配置c中的配置:\ testconfig.xml

在於,我發現<swf-version>11</swf-version>

基於這一點,我猜測我需要設置該標誌是-swf版本10作爲項目性質的額外的編譯參數>的Flex編譯器

使用該標誌構建後,swf版本在swfdump和配置轉儲中均爲10

+0

這是一個很好的答案,知道這是你的第一個答案。榮譽。 – 2012-12-07 20:33:14