15.10.2012 Views

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ACTIONSCRIPT 3.0 ENTWICKLERHANDBUCH<br />

Digitale Rechteverwaltung<br />

Ausführlicher API-Arbeitsablauf<br />

Flash Player 10.1 und höher, AIR 2.0 und höher<br />

Im Folgenden wird der Arbeitsablauf für geschützte Inhalte ausführlicher beschrieben. Dabei werden auch die APIs<br />

vorgestellt, die für die Wiedergabe von durch Flash Access geschützten Inhalten verwendet werden.<br />

1 Verwenden Sie ein URLLoader-Objekt, um die Byte der Metadaten-Datei des geschützten Inhalts zu laden. Stellen<br />

Sie dieses Objekt auf eine Variable ein, wie beispielsweise metadata_bytes.<br />

Alle von Flash Access kontrollierten Inhalte verfügen über Flash Access-Metadaten. Wenn der Inhalt verpackt<br />

wird, können diese Metadaten als separate Datei (.metadata) mit dem Inhalt gespeichert werden. Weitere<br />

Informationen finden Sie in der Dokumentation zu Flash Access.<br />

2 Erstellen Sie eine DRMContentData-Instanz. Fügen Sie diesen Code in einen try-catch-Block ein:<br />

new DRMContentData(metadata_bytes)<br />

Dabei ist metadata_bytes das URLLoader-Objekt aus Schritt 1.<br />

3 (Nur Flash Player) Die Laufzeit sucht das Flash Access-Modul. Falls es nicht gefunden wird, wird ein<br />

IllegalOperationError mit DRMErrorEvent-Fehlercode 3344 oder DRMErrorEvent-Fehlercode 3343 ausgegeben.<br />

Zur Verarbeitung dieses Fehlers laden Sie das Flash Access-Modul über die SystemUpdater-API herunter.<br />

Nachdem dieses Modul heruntergeladen wurde, löst das SystemUpdater-Objekt ein COMPLETE-Ereignis aus.<br />

Fügen Sie einen Ereignis-Listener für dieses Ereignis ein, mit dem der Arbeitsablauf zu Schritt 2 zurückkehrt, wenn<br />

dieses Ereignis ausgelöst wird. Diese Schritte werden im folgenden Codebeispiel gezeigt:<br />

flash.system.SystemUpdater.addEventListener(Event.COMPLETE, updateCompleteHandler);<br />

flash.system.SystemUpdater.update(flash.system.SystemUpdaterType.DRM)<br />

private function updateCompleteHandler (event:Event):void {<br />

/*redo step 2*/<br />

drmContentData = new DRMContentData(metadata_bytes);<br />

}<br />

Wenn der Player selbst aktualisiert werden muss, wird ein Statusereignis ausgelöst. Weitere Informationen zur<br />

Verarbeitung dieses Ereignisses finden Sie unter „Warten auf ein Aktualisierungsereignis“ auf Seite 577.<br />

Hinweis: In AIR-Anwendungen ist das AIR-Installationsprogramm für die Aktualisierung des Flash Access-Moduls<br />

und die erforderlichen Laufzeitaktualisierungen zuständig.<br />

4 Erstellen Sie Listener, die auf die vom DRMManager-Objekt ausgelösten DRMStatusEvent- und DRMErrorEvent-<br />

Ereignisse warten:<br />

DRMManager.addEventListener(DRMStatusEvent.DRM_STATUS, onDRMStatus);<br />

DRMManager.addEventListener(DRMErrorEvent.DRM_ERROR, onDRMError);<br />

Stellen Sie im DRMStatusEvent-Listener sicher, dass der Gutschein gültig (nicht null) ist. Verarbeiten Sie im<br />

DRMErrorEvent-Listener die DRMErrorEvents-Ereignisse. Einzelheiten finden Sie unter „Verwenden der<br />

DRMStatusEvent-Klasse“ auf Seite 569 und „Verwenden der DRMErrorEvent-Klasse“ auf Seite 574.<br />

5 Laden Sie den Gutschein (Lizenz) zum Abspielen des Inhalts.<br />

Versuchen Sie zunächst, eine lokal gespeicherte Lizenz zu laden:<br />

DRMManager.loadvoucher(drmContentData, LoadVoucherSetting.LOCAL_ONLY)<br />

Nach abgeschlossenem Ladevorgang löst das DRMManager-Objekt ein DRMStatusEvent.DRM_Status-Ereignis aus.<br />

6 Wenn das DRMVoucher-Objekt nicht null ist, ist der Gutschein gültig. Fahren Sie mit Schritt 13 fort.<br />

Letzte Aktualisierung 27.6.2012<br />

561

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!