Aktualizowanie Flash Player w celu obsługi Flash AccessFlash Player 10.1 i nowsze wersje Do obsługi Flash Access w programie Flash Player wymagany jest moduł Flash Access. Gdy odtwarzacz Flash Player próbuje odtworzyć chronione treści, środowisko wykonawcze wskazuje, czy konieczne jest pobranie modułu lub nowej wersji programu Flash Player. W ten sposób Flash Player daje programistom SWF możliwość zrezygnowania z aktualizacji, jeżeli nie jest ona pożądana. W większości przypadków w celu odtwarzania chronionych treści programista uwzględnia aktualizację do wymaganego modułu Flash Access lub odtwarzacza. Do aktualizacji można wykorzystać interfejs API SystemUpdater w celu pobierania najnowszej wersji modułu Flash Access lub odtwarzacza Flash Player. Interfejs API SystemUpdater zezwala jednorazowo tylko na jedną aktualizację. Kod błędu 2201 oznacza, że aktualizacja już jest wykonywana w instancji bieżącego czasu wykonywania lub w innej instancji. Na przykład, jeżeli aktualizacja jest przeprowadzana w instancji Flash Player w przeglądarce Internet Explorer, nie można wykonywać aktualizacji w instancji Flash Player działającej w przeglądarce Firefox. Interfejs API SystemUpdater jest obsługiwany tylko dla platform stacjonarnych. Uwaga: W przypadku wersji Flash Player wcześniejszych niż 10.1 należy używać zaktualizowanego mechanizmu obsługiwanego we wcześniejszych wersjach odtwarzacza (po ręcznym pobraniu i zainstalowaniu ze strony www.adobe.com lub za pomocą ExpressInstall). Dodatkowo instalator środowiska AIR obsługuje wymagane aktualizacje dla modułu Flash Access, ale nie obsługuje API SystemUpdater.
Wykrywanie zdarzenia updateGdy wymagana jest aktualizacja modułu Flash Access, obiekt NetStream wywołuje zdarzenie NetStatusEvent z wartością kodu DRM.UpdateNeeded. Ta wartość oznacza, że obiekt NetStream nie może odtworzyć chronionego strumienia za pomocą żadnego z aktualnie zainstalowanych modułów Flash Access. Należy nasłuchiwać tego zdarzenia i wywołać następujący kod: SystemUpdater.update(flash.system.SystemUpdaterType.DRM)Ten kod aktualizuje moduł Flash Access zainstalowany w odtwarzaczu. Do przeprowadzenia tej aktualizacji modułu nie jest wymagana zgoda użytkownika. Jeżeli moduł Flash Access nie zostanie znaleziony, wywoływany jest błąd. Patrz krok 3. w części Szczegółowy obieg pracy API. Uwaga: Jeżeli zostanie wywołana metoda play() w zaszyfrowanym strumieniu w odtwarzaczach w wersji wcześniejszej niż 10.1, wywoływane jest zdarzenie NetStatusEvent z wartością kodu NetStream.Play.StreamNotFound. W przypadku wcześniejszych wersji odtwarzacza należy użyć mechanizmu aktualizacji obsługiwanego w tych odtwarzaczach (ręczne pobranie i instalacja z www.adobe.com lub za pomocą ExpressInstall).
Jeżeli wymagana jest aktualizacja samego odtwarzacza, obiekt SystemUpdater wywołuje zdarzenie StatusEvent z wartością kodu DRM.UpdateNeededButIncompatible. W przypadku aktualizacji odtwarzacza wymagana jest zgoda użytkownika. W aplikacji należy udostępnić interfejs dla użytkownika umożliwiający wyrażenie zgody na zainicjowanie i przeprowadzenie aktualizacji odtwarzacza. Należy nasłuchiwać zdarzenia StatusEvent i wywołać następujący kod: SystemUpdater.update(flash.system.SystemUpdaterType.SYSTEM);Ten kod służy do inicjowania aktualizacji odtwarzacza. Dodatkowe zdarzenia związane z klasą SystemUpdater są opisane w Skorowidzu języka ActionScript 3.0 dla platformy Adobe Flash. Po zakończeniu aktualizacji odtwarzacza użytkownik zostanie przekierowany na stronę, na której rozpoczęto aktualizację. Moduł Flash Access jest pobierany i rozpoczyna się odtwarzanie strumienia. |
|