Membri ed eventi della classe NetStream correlati a DRM

Flash Player 10.1 e versioni successive, Adobe AIR 1.0 e versioni successive

La classe NetStream fornisce una connessione in streaming unidirezionale tra Flash Player o un'applicazione AIR e Flash Media Server o il file system locale. (La classe NetStream supporta anche il download progressivo.) Un oggetto NetStream è come un canale all'interno di un oggetto NetConnection. La classe NetStream invia quattro eventi correlati a DRM:

Evento

Descrizione

drmAuthenticate

(solo AIR)

Definito nella classe DRMAuthenticateEvent. Questo evento viene inviato quando un oggetto NetStream cerca di riprodurre contenuto protetto che richiede credenziali utente per l'autenticazione prima della riproduzione.

Le proprietà di questo evento includono header, usernamePrompt, passwordPrompt e urlPrompt utilizzabili per ottenere e impostare le credenziali dell'utente. Tale evento si verifica ripetutamente finché l'oggetto NetStream riceve credenziali utente valide.

drmError

Definito nella classe DRMErrorEvent e inviato quando un oggetto NetStream cerca di riprodurre contenuto protetto e incontra un errore correlato a DRM. Ad esempio, l'oggetto evento dell'errore DRM è inviato in caso di errore dell'autorizzazione utente. Questo errore si verifica perché l'utente non ha acquistato i diritti per visualizzare il contenuto. Può anche verificarsi perché il fornitore di contenuti non supporta l'applicazione di visualizzazione.

drmStatus

Definito nelle classe DRMStatusEvent. Questo evento viene inviato all'inizio della riproduzione del contenuto protetto (quando l'utente viene autenticato e autorizzato a riprodurre il contenuto). L'oggetto DRMStatusEvent contiene informazioni correlate al voucher. Le informazioni sul voucher includono l'eventualità di rendere il contenuto disponibile offline oppure la data di scadenza del voucher e se il contenuto non può più essere visualizzato.

status

Definito in events.StatusEvent e inviato solo quando l'applicazione tenta di riprodurre contenuto protetto, richiamando il metodo NetStream.play(). Il valore della proprietà del codice di stato è "DRM.encryptedFLV".

La classe NetStream include i metodi specifici di DRM seguenti, per l'utilizzo solo in AIR:

Metodo

Descrizione

resetDRMvouchers()

Elimina tutti i dati del voucher DRM (Digital Rights Management) memorizzati nella cache locale. L'applicazione deve scaricare di nuovo i voucher affinché l'utente possa accedere al contenuto crittografato.

Il codice seguente ad esempio rimuove tutti i voucher dalla cache:

NetStream.resetDRMvouchers();

setDRMAuthenticationCredentials()

Passa un set di credenziali di autenticazione, ovvero nome utente, password e tipo di autenticazione, all'oggetto NetStream per l'autenticazione. I tipi di autenticazione validi sono "drm" e "proxy". Con il tipo di autenticazione "drm" , le credenziali fornite sono autenticate da Adobe Access. Con il tipo di autenticazione "proxy", le credenziali autenticano tramite il server proxy e devono corrispondere a quelle richieste dal server proxy. Ad esempio, un'azienda può richiedere l'autenticazione dell'applicazione rispetto a un server proxy prima di consentire l'accesso a Internet. L'opzione proxy consente questo tipo di autenticazione. A meno che non si utilizzi l'autenticazione anonima, dopo l'autenticazione tramite proxy, l'utente deve ancora autenticarsi tramite Adobe Access al fine di ottenere il voucher e riprodurre il contenuto. Potete utilizzare setDRMAuthenticationCredentials() una seconda volta, insieme all'opzione "drm", al fine di eseguire l'autenticazione tramite Adobe Access.

preloadEmbeddedMetadata()

Analizza il file multimediale locale per la ricerca dei metadati incorporati. Quando vengono trovati i metadati correlati a DRM, AIR chiama la funzione di callback onDRMContentData().

Inoltre, in AIR, un oggetto NetStream chiama le funzioni di callback onDRMContentData() e onPlayStatus() a seguito di una chiamata al metodo preloadEmbeddedMetaData(). La funzione onDRMContentData() viene chiamata quando vengono rilevati metadati DRM in un file multimediale. La funzione onPlayStatus() viene chiamata dopo che il file è stato analizzato. Le funzioni onDRMContentData() e onPlayStatus() devono essere definite nell'oggetto client assegnato all'istanza NetStream. Se utilizzate lo stesso oggetto NetStream per precaricare voucher e riprodurre contenuto, per avviare la riproduzione attendete la chiamata onPlayStatus() generata da preloadEmbeddedMetaData().

Nel seguente codice per AIR, nome utente ("administrator"), password ("password") e tipo di autenticazione "drm" sono impostati per l'autenticazione dell'utente. Il metodo setDRMAuthenticationCredentials() deve fornire credenziali che corrispondono a quelle conosciute e accettate dal fornitore del contenuto. Queste credenziali sono identiche a quelle che permettono all'utente di visualizzare il contenuto. Non è compreso il codice che riproduce il video e assicura l'avvenuta connessione allo streaming video.

var connection:NetConnection = new NetConnection(); 
connection.connect(null); 
 
var videoStream:NetStream = new NetStream(connection); 
 
videoStream.addEventListener(DRMAuthenticateEvent.DRM_AUTHENTICATE, 
                            drmAuthenticateEventHandler) 
 
private function drmAuthenticateEventHandler(event:DRMAuthenticateEvent):void  
{ 
    videoStream.setDRMAuthenticationCredentials("administrator", "password", "drm"); 
}