Determining when a video’s metadata is received on an FLVPlayback control in Flash using ActionScript 3.0
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
