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 />

Working with video<br />

package com.adobe.example<br />

{<br />

import flash.ev<strong>en</strong>ts.NetDataEv<strong>en</strong>t;<br />

import flash.ev<strong>en</strong>ts.NetMonitorEv<strong>en</strong>t;<br />

import flash.ev<strong>en</strong>ts.NetStatusEv<strong>en</strong>t;<br />

import flash.net.NetMonitor;<br />

import flash.net.NetStream;<br />

public class NetStreamEv<strong>en</strong>tMonitor<br />

{<br />

private var netmon:NetMonitor;<br />

private var heartbeat:Timer = new Timer( 5000 );<br />

public function NetStreamEv<strong>en</strong>tMonitor()<br />

{<br />

//Create NetMonitor object<br />

netmon = new NetMonitor();<br />

netmon.addEv<strong>en</strong>tList<strong>en</strong>er( NetMonitorEv<strong>en</strong>t.NET_STREAM_CREATE, newNetStream );<br />

}<br />

//Start the heartbeat timer<br />

heartbeat.addEv<strong>en</strong>tList<strong>en</strong>er( TimerEv<strong>en</strong>t.TIMER, onHeartbeat );<br />

heartbeat.start();<br />

//On new NetStream<br />

private function newNetStream( ev<strong>en</strong>t:NetMonitorEv<strong>en</strong>t ):void<br />

{<br />

trace( "New Netstream object");<br />

var stream:NetStream = ev<strong>en</strong>t.netStream;<br />

stream.addEv<strong>en</strong>tList<strong>en</strong>er(NetDataEv<strong>en</strong>t.MEDIA_TYPE_DATA, onStreamData);<br />

stream.addEv<strong>en</strong>tList<strong>en</strong>er(NetStatusEv<strong>en</strong>t.NET_STATUS, onStatus);<br />

}<br />

//On data ev<strong>en</strong>ts from a NetStream object<br />

private function onStreamData( ev<strong>en</strong>t:NetDataEv<strong>en</strong>t ):void<br />

{<br />

var netStream:NetStream = ev<strong>en</strong>t.target as NetStream;<br />

trace( "Data ev<strong>en</strong>t from " + netStream.info.uri + " at " + ev<strong>en</strong>t.timestamp );<br />

switch( ev<strong>en</strong>t.info.handler )<br />

{<br />

case "onMetaData":<br />

//handle metadata;<br />

break;<br />

case "onXMPData":<br />

//handle XMP;<br />

break;<br />

case "onPlayStatus":<br />

//handle NetStream.Play.Complete<br />

case "onImageData":<br />

//handle image<br />

break;<br />

case "onTextData":<br />

//handle text<br />

break;<br />

default:<br />

//handle other ev<strong>en</strong>ts<br />

Last updated 6/6/2012<br />

503

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

Saved successfully!

Ooh no, something went wrong!