Importante
: in Flash Player 11.5 e versioni successive, il modulo Adobe Access è integrato, quindi la fase di aggiornamento (la chiamata di
SystemUpdater.update(SystemUpdaterType.DRM)
) non è necessaria. Questo vale per i browser e le piattaforme seguenti:
-
Controllo ActiveX Flash Player 11.5, per tutte le piattaforme eccetto Internet Explorer in Windows 8
-
Plugin Flash Player 11.5, per tutti i browser
-
Adobe AIR (versione desktop e mobile)
Ciò significa che la fase di aggiornamento è
ancora richiesta
nei casi seguenti:
-
Internet Explorer in Windows 8
-
Flash Player 11.4 e versioni precedenti, tranne che in Google Chrome 22 e versioni successive (tutte le piattaforme) o 21 e versioni successive (Windows)
Nota:
potete comunque chiamare senza problemi
SystemUpdater.update(SystemUpdaterType.DRM)
su un sistema con Flash Player 11.5 o successivo, ma non verrà scaricato nulla.
Per supportare Adobe Access, Flash Player richiede il modulo Adobe Access. Quando Flash Player tenta di riprodurre contenuto protetto, il runtime indica se è necessario scaricare il modulo o una nuova versione di Flash Player. In questo modo, Flash Player offre agli sviluppatori SWF la possibilità di non eseguire l'aggiornamento.
Nella maggior parte dei casi, per riprodurre contenuto protetto, gli sviluppatori SWF eseguono l'aggiornamento al modulo Adobe Access o al lettore richiesti. Per eseguire l'aggiornamento, potete utilizzare l'API SystemUpdater per ottenere la versione più recente del modulo Adobe Access o di Flash Player.
L'API SystemUpdater permette di eseguire un solo aggiornamento alla volta. Il codice di errore 2202 indica che un aggiornamento è già in corso nell'istanza del runtime corrente o in un'altra istanza. Ad esempio, se è in corso un aggiornamento in un'istanza di Flash Player in Internet Explorer, l'aggiornamento non può continuare in un'istanza Flash Player in esecuzione in Firefox.
L'API SystemUpdater è supportata solo per piattaforme desktop.
Nota:
per le versioni di Flash Player precedenti alla 10.1, utilizzate il meccanismo di aggiornamento supportato in versioni del lettore precedenti (scaricate manualmente da www.adobe.com o ExpressInstall ed eseguite l'installazione). Inoltre, il programma di installazione di AIR gestisce gli aggiornamenti necessari per Adobe Access e non supporta l'API SystemUpdater.
Intercettazione di un evento di aggiornamento
Quando è richiesto un aggiornamento del modulo Adobe Access, l'oggetto NetStream invia un evento NetStatusEvent con un valore del codice di
DRM.UpdateNeeded
. Questo valore indica che l'oggetto NetStream non è in grado di riprodurre il flusso protetto con nessuno dei moduli Adobe Access attualmente installati. Intercettate l'evento e invocate il codice seguente:
SystemUpdater.update(flash.system.SystemUpdaterType.DRM)
Questo codice aggiorna il modulo Adobe Access installato nel lettore. Per questo aggiornamento non è richiesto il consenso dell'utente.
Se il modulo Adobe Access non viene trovato, viene generato un errore. Vedete il passaggio 3 del
Flusso di lavoro API dettagliato
.
Nota:
se si chiama il metodo play() su un flusso crittografato in versioni del lettore precedenti a 10.1, viene inviato un evento NetStatusEvent con valore del codice di NetStream.Play.StreamNotFound. Per lettori precedenti, utilizzate il meccanismo di aggiornamento supportato per questi lettori (scaricate manualmente da www.adobe.com o ExpressInstall ed eseguite l'installazione).
Quando è richiesto un aggiornamento del lettore stesso, l'oggetto SystemUpdater invia un evento StatusEvent con un valore del codice di
DRM.UpdateNeededButIncompatible
. Per un aggiornamento del lettore, non è richiesto il consenso dell'utente. Nell'applicazione, fornite un'interfaccia di accettazione dell'utente e avviate l'aggiornamento del lettore. Intercettate l'evento StatusEvent e invocate il codice seguente:
SystemUpdater.update(flash.system.SystemUpdaterType.SYSTEM);
Questo codice avvia l'aggiornamento del lettore.
Eventi aggiuntivi per la classe SystemUpdater sono documentati nella
Guida di riferimento di Adobe ActionScript 3.0 per la piattaforma Adobe Flash
.
Al termine dell'aggiornamento del lettore, l'utente viene reindirizzato alla pagina in cui l'aggiornamento ha avuto inizio. Il modulo Adobe Access viene scaricato ed è possibile iniziare la riproduzione del flusso.