13.08.2012 Views

ACTIONSCRIPT 3 Developer’s Guide en

ACTIONSCRIPT 3 Developer’s Guide en

ACTIONSCRIPT 3 Developer’s Guide en

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.

<strong>ACTIONSCRIPT</strong> 3.0 DEVELOPER’S GUIDE<br />

Using digital rights managem<strong>en</strong>t<br />

private function getMetadata():void{<br />

}<br />

extrapolated-path-to-metadata = "http://metadatas.mywebserver.com/" + videoname;<br />

var urlRequest : URLRequest = new URLRequest(extrapolated-path-to-the-metadata + ".metadata");<br />

var urlStream : URLStream = new URLStream();<br />

urlStream.addEv<strong>en</strong>tList<strong>en</strong>er(Ev<strong>en</strong>t.COMPLETE, handleMetadata);<br />

urlStream.addEv<strong>en</strong>tList<strong>en</strong>er(IOErrorEv<strong>en</strong>t.NETWORK_ERROR, handleIOError);<br />

urlStream.addEv<strong>en</strong>tList<strong>en</strong>er(IOErrorEv<strong>en</strong>t.IO_ERROR, handleIOError);<br />

urlStream.addEv<strong>en</strong>tList<strong>en</strong>er(IOErrorEv<strong>en</strong>t.VERIFY_ERROR, handleIOError);<br />

try{<br />

urlStream.load(urlRequest);<br />

}catch(se:SecurityError){<br />

videoLog.text += se.toString() + "\n";<br />

}catch(e:Error){<br />

videoLog.text += e.toString() + "\n";<br />

}<br />

Op<strong>en</strong> Source Media Framework<br />

Op<strong>en</strong> Source Media Framework (OSMF) is an ActionScript-based framework that gives you complete flexibility and<br />

control in creating your own rich media experi<strong>en</strong>ces. For more information on OSMF, visit the OSMF Developer Site.<br />

Workflow for playing protected cont<strong>en</strong>t<br />

1 Create a MediaPlayer instance.<br />

player = new MediaPlayer();<br />

2 Register MediaPlayerCapabilityChangeEv<strong>en</strong>t.HAS_DRM_CHANGE ev<strong>en</strong>t to the player. This ev<strong>en</strong>t will be<br />

dispatched if the cont<strong>en</strong>t is DRM protected.<br />

player.addEv<strong>en</strong>tList<strong>en</strong>er(MediaPlayerCapabilityChangeEv<strong>en</strong>t.HAS_DRM_CHANGE,<br />

onDRMCapabilityChange);<br />

3 In the ev<strong>en</strong>t handler, obtain the DRMTrait instance. DRMTrait is the interface through which you invoke DRMrelated<br />

methods, such as auth<strong>en</strong>ticate(). Wh<strong>en</strong> loading a DRM-protected cont<strong>en</strong>t, OSMF performs the DRM<br />

validating actions and dispatches state ev<strong>en</strong>ts. Add a DRMEv<strong>en</strong>t.DRM_STATE_CHANGE ev<strong>en</strong>t handler to the<br />

DRMTrait.<br />

private function onDRMCapabilityChange<br />

(ev<strong>en</strong>t :MediaPlayerCapabilityChangeEv<strong>en</strong>t) :void<br />

{<br />

if (ev<strong>en</strong>t.type == MediaPlayerCapabilityChangeEv<strong>en</strong>t.HAS_DRM_CHANGE<br />

&& ev<strong>en</strong>t.<strong>en</strong>abled)<br />

{<br />

drmTrait = player.media.getTrait(MediaTraitType.DRM) as DRMTrait;<br />

drmTrait.addEv<strong>en</strong>tList<strong>en</strong>er<br />

(DRMEv<strong>en</strong>t.DRM_STATE_CHANGE, onDRMStateChange);<br />

}<br />

}<br />

4 Handle the DRM ev<strong>en</strong>ts in the onDRMStateChange() method.<br />

Last updated 6/6/2012<br />

547

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

Saved successfully!

Ooh no, something went wrong!