The following example shows how you can determine when a Flash ActionScript 3.0 FLVPlayback control’s metadata is received by listening for the metadataReceived event.

Full code after the jump.

// ActionScript 3.0
/* Requires
 * - FLVPlayback control in Flash library
 */
import fl.video.FLVPlayback;
import fl.video.MetadataEvent;
 
var flvPlayback:FLVPlayback = new FLVPlayback();
flvPlayback.autoPlay = false;
flvPlayback.addEventListener(MetadataEvent.METADATA_RECEIVED, flvPlayback_metadataReceived);
flvPlayback.source = "http://www.helpexamples.com/flash/video/cuepoints.flv";
flvPlayback.skin = "SkinOverPlaySeekMute.swf";
flvPlayback.x = 10;
flvPlayback.y = 10;
addChild(flvPlayback);
 
function flvPlayback_metadataReceived(evt:MetadataEvent):void {
    trace("duration:", evt.info.duration); // 16.334
    trace("framerate:", evt.info.framerate); // 15
    trace("width:", evt.info.width); // 320
    trace("height:", evt.info.height); // 213
}

If we trace the MetadataEvent event object’s info property using the Flex SDK ObjectUtil class (see “Using the Flex SDK’s ObjectUtil class in your Flash CS4 documents”), we get the following output:

(Array)#0
  [audiocodecid] 2
  [audiodatarate] 96
  [audiodelay] 0.038
  [canSeekToEnd] true
  [cuePoints] (Array)#1
    [0] (Array)#2
      [name] “point1″
      [parameters] (Array)#3
        [lights] “beginning”
      [time] 0.418
      [type] “navigation”
    [1] (Array)#4
      [name] “point2″
      [parameters] (Array)#5
        [lights] “middle”
      [time] 7.748
      [type] “navigation”
    [2] (Array)#6
      [name] “point3″
      [parameters] (Array)#7
        [lights] “end”
      [time] 16.02
      [type] “navigation”
  [duration] 16.334
  [framerate] 15
  [height] 213
  [videocodecid] 4
  [videodatarate] 400
  [width] 320

Tagged with:
 

One Response to Determining when a video’s metadata is received on an FLVPlayback control in Flash using ActionScript 3.0

  1. ariden says:

    This doesn’t work, I’ve no error but I don’t go in flvPlayback_metadataReceived(evt:MetadataEvent) function…

    My metadata are defining with : ….send(“@setDataFrame”, “onMetaData”, metaData);

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">

Spam Protection by WP-SpamFree