更新 Flash Player 以支援 Adobe Access

Flash Player 10.1 和更新的版本

重要 :Flash Player 11.5 及更新版本會整合 Adobe Access 模組,因此不需要執行更新步驟 (呼叫 SystemUpdater.update(SystemUpdaterType.DRM) )。這包括下列瀏覽器和平台:

  • Flash Player 11.5 ActiveX 控制項,適用於所有平台,但 Windows 8 上的 Internet Explorer 除外

  • Flash Player 11.5 外掛程式,適用於所有瀏覽器

  • Adobe AIR (桌上型電腦及行動裝置)

這表示,在下列情況中「還是需要」更新步驟:

  • Windows 8 上的 Internet Explorer

  • Flash Player 11.4 及以前版本,但 Google Chrome 22 及更新版本 (所有平台) 或 21 及更新版本 (Windows) 除外

備註: 在具有 Flash Player 11.5 或更新版本的系統上,您還是可以安全地呼叫 SystemUpdater.update(SystemUpdaterType.DRM) ,但不會下載任何項目。

若要支援 Adobe Access,Flash Player 需要 Adobe Access 模組。Flash Player 嘗試播放保護的內容時,執行階段會指出是否必須下載模組或新版本的 Flash Player。因此,Flash Player 允許 SWF 開發人員依需要選擇不要進行更新。

在大部分情況下,若要播放保護的內容,SWF 開發人員會更新至必要的 Adobe Access 模組或播放程式。若要更新,您可以使用 SystemUpdater API 取得最新版本的 Adobe Access 模組或 Flash Player。

SystemUpdater API 一次只允許一個更新。錯誤碼 2202 指出目前的執行階段實體或另一個實體正在進行更新。例如,如果 Internet Explorer 的 Flash Player 實體正在進行更新,則 Firefox 中執行的 Flash Player 實體無法進行更新。

只有桌面平台才支援 SystemUpdater API。

備註: 如果是 10.1 之前的 Flash Player 版本,請使用舊版播放程式中支援的更新機制 (從 www.adobe.com 或 ExpressInstall 手動下載並安裝)。此外,AIR 安裝程式會處理 Adobe Access 的必要更新,但不支援 SystemUpdater API。

更新事件的偵聽

需要更新 Adobe Access 模組時,NetStream 物件會傳送代碼值為 DRM.UpdateNeeded 的 NetStatusEvent。這個值指出 NetStream 物件無法使用任何目前安裝的 Adobe Access 模組,來播放保護的串流。偵聽這個事件,並呼叫下列程式碼:

SystemUpdater.update(flash.system.SystemUpdaterType.DRM)
這個程式碼會更新播放程式中安裝的 Adobe Access 模組。不需要使用者同意就可以更新這個模組。

如果找不到 Adobe Access 模組,則會擲回錯誤。請參閱 詳細的 API 工作流程 的步驟 3。

備註: 如果在 10.1 版本之前的播放程式加密串流上呼叫 play(),則會傳送代碼值為 NetStream.Play.StreamNotFound 的 NetStatusEvent。在舊版播放程式中,使用那些播放程式支援的更新機制 (從 www.adobe.com 或 ExpressInstall 手動下載並安裝)。

需要更新播放程式本身時,SystemUpdater 物件會傳送代碼值為 DRM.UpdateNeededButIncompatible 的 StatusEvent。若要更新播放程式,則需要使用者同意。在您的應用程式中提供介面,讓使用者同意並起始播放程式的更新。偵聽 StatusEvent 事件,並呼叫下列程式碼:

SystemUpdater.update(flash.system.SystemUpdaterType.SYSTEM);
這個程式碼會起始播放程式的更新。

SystemUpdater 類別的其他事件記載於 適用於 Adobe Flash Platform 的 ActionScript 3.0 參考 中。

播放程式更新完成之後,會將使用者重新導向至更新的開始頁面。下載 Adobe Access 模組,而且可以開始播放串流。