[Embed(source="yourthing.DAE", mimeType="application/octet-stream")]
private var theModel:Class;
var byteArray:ByteArray = new theModel();
var yourDAE:DAE = new DAE();
yourDAE.load(byteArray, materal);
scene.addChild(yourDAE);
// add an event listener to the video to listen for cuepoints
// in this case the videoclip instance name is 'vid' and the
// function to be triggered by the listener is 'vidstuff'
// if you change the instance name change the code accordingly
this.vid.addEventListener(MetadataEvent.CUE_POINT, vidstuff);
// function triggered by the listener when we hit a cuepoint
function vidstuff(event:MetadataEvent):void
{
// stuff the function does goes below here
// stuff the function does goes above here
}
// end function triggered by the listener when we hit a cuepoint
// this should be the first bit of code at the top of your
// actionscript for interactive video code. this stuff needs to
// loaded and be ready for action before anything else
// import the necessary actionscript code for dealing
// with metadata embedded in video [ie. cuepoints]
import fl.video.*;
import fl.video.MetadataEvent;
// import the necessary actionscript code for dealing
// with metadata embedded in video [ie. cuepoints]
/* ||||||||||||||||| CUEPOINT TRACES ||||||||||||||||||||
these trace actions are handy for returning the info that flash has about any cuepoints it encounters, embedded in an FLV [flash video] file. put these traces inside a cuepoint listener function to test whether flash is picking up the cuepoints in the first place, before you add any more complicated code. these traces will display:
- the 'event' the listener has detected [ie. a cuepoint]
- the name of the cuepoint
- the type of the cuepoint [ie. 'event' or 'navigation']
- the time the cuepoint sits at in the video
[note: this code assumes your FLV video file has an instance name of 'vid'. if you change the instance name change the "this.vid.playheadTime" part of the code accordingly]
this is the same trace code i demo'd in class. i've just tidied it up a bit by adding in a few tabs [\t] and a linebreak [\n]at the end, so it formats up neater. i cannae help it - i'm just such a perfectionist!
||||||||||||||||||||||||||||||||||||||||||| */
// begin traces
trace("listener detected: \t"+event.type);
trace("cuepoint is called: \t"+event.info.name);
trace("cuepoint is of type: \t"+event.info.type);
trace("vid playhead time: \t"+this.vid.playheadTime);
trace("------\n");
// end traces
var keyStr:String;
var valueStr:String;
var theVars:Array = new Array();
try {
var paramObj:Object = LoaderInfo(this.root.loaderInfo).parameters;
for (keyStr in paramObj) {
valueStr = String(paramObj[keyStr]);
theVars.push({key:keyStr, val:valueStr});
}
init();
} catch (error:Error) {
trace(error.toString());
}