2010-02-11 148 views
1

我已經構建了一個使用p2p功能的Flash 10 flex應用程序(我正在使用開發人員密鑰連接到stratus),目前一切正常。現在我想讓我的應用程序在Adoble Air Runtime上運行,但似乎p2p不適用於Air。Adob​​e Air應用程序可以使用p2p嗎?

我可以在Air應用程序中成功連接到Stratus服務器,但在此之後,當我嘗試使用NetConnection.nearID時,出現錯誤: 「ReferenceError:Error#1069:在flash.net上找不到屬性nearID。 NetConnection並沒有默認值。「

我已經試過flex sdk 3.2和3.4,他們都沒有工作。有沒有人開發過使用p2p的Air應用程序,並且可以提供一些提示?感謝您的幫助〜

回答

1

這個問題現在已經解決了,flex構建器根本就不聰明,你必須在你選擇新版本的SDK後進行手動修改。下面的2個文件需要修改:

1.描述符文件,使用的xmlns = 「http://ns.adobe.com/air/application/1.5.3」

2. .actionScriptProperties文件項目路徑,使用htmlPlayerVersion =「10.0.0」

,詳見 http://help.adobe.com/en_US/AIR/1.5/devappsflex/WS5b3ccc516d4fbf351e63e3d118666ade46-7ff1.html 對於基於SWF的應用程序,在應用程序描述符中指定的AIR運行時版本確定可裝入作爲最大SWF版本應用程序的初始內容。指定AIR 1.0或AIR 1.1的應用程序只能將SWF9(Flash Player 9)文件用作初始內容 - 即使在使用AIR 1.5運行時運行時也是如此。指定AIR 1.5或更高版本的應用程序可以使用SWF9或SWF10(Flash Player 10)文件作爲初始內容。 SWF版本確定哪些版本的AIR和Flash Player API可用。如果將SWF9文件用作AIR 1.5應用程序的初始內容,則該應用程序只能訪問AIR 1.1和Flash Player 9 API。此外,對AIR 1.5或Flash Player 10中的現有API進行的行爲更改將無效。

1

我遇到同樣的問題。我會說,我只是在Linux上體驗它的發展。如果我採用相同的代碼並在Windows上構建,它可以正常工作。實際上,我可以從Windows生成發佈版本,將其移植到Linux,並且可以使用nearID。我可以在Linux上生成一個發佈版本,將其導出到Windows,並獲得相同的nearID未發現問題。

所以,我相信這是一個構建時間問題。研究表明,如果您針對常規Flex應用程序針對Flash 9進行編譯,則會發生相同的錯誤。我無法想象這是這個問題。 FWIW,我試過了SDK 3.3,3.4,3.5。我也試過Air SDK 1.5,2.0b1和2.0b2。我遇到了所有組合的問題。

您使用什麼環境構建應用程序?我幾乎希望它不是Linux,因爲Adobe幾乎已經放棄了Flex Builder for Linux。

+0

感謝您的回覆,我也懷疑它可能是編譯器相關的問題。 我在Windows中使用Flex Builder 3,情況是,對於同一段代碼,Flash版本可以正常工作,但無法正常工作。 除了操作系統的差異,是否有任何其他可能導致此問題的窗口和Linux環境的差異? – Jell 2010-02-13 04:57:32

+0

我一直在分析我的環境超過一個星期,試圖弄清楚同樣的事情。我也有第二臺裝有Linux的機器,並且都有同樣的問題。如果我弄清楚會不會讓你知道。 – Dan 2010-02-13 20:48:42

+0

是的,你關於htmlPlayerVersion的回答確實爲我修復了它。非常感謝,這真的讓我的項目失去了進展。 – Dan 2010-02-13 23:14:54

相關問題