fastlearner
03-13-2007, 04:26 AM
I finaly got a listbox items to jump to cue points on the FLV. Now if someone could help me make it jump to a frame label named the same as the label in the components, that would be awesome!! Below is the code that I have now. thanks
import mx.video.FLVPlayback;
import mx.controls.List;
import mx.utils.Delegate;
var cfp:FLVPlayback;
var cli:List;
function onVideoMeta(oEvent:Object):Void {
trace("onVideoMeta >");
// retrieve metadata from FLVPlayback instance
var oMeta:Object = oEvent.target.metadata;
// retrieve cue point data from video
var aCues:Array = oMeta.cuePoints;
// loop through cue point data and
// find navigation cue points
trace("\tcue points:");
for(var i:Number = 0; i < aCues.length; i++){
var oCue:Object = aCues[i];
trace("\t\t" + i + ": name: " + oCue.name + ", type: " + oCue.type);
cli.addItem(oCue.name);
}
}
function onCueSelect(oEvent:Object):Void {
cfp.seekToNavCuePoint(oEvent.target.value);
}
function selectListItem(oEvent:Object):Void {
var oCue:Object = oEvent.info;
for(var i:Number = 0; i < cli.dataProvider.length; i++){
var oItem:Object = cli.getItemAt(i);
if(oItem.label == oCue.name){
cli.selectedIndex = i;
break;
}
}
}
cfp.addEventListener("metadataReceived", Delegate.create(this, onVideoMeta));
cli.addEventListener("change", Delegate.create(this, onCueSelect));
cfp.addEventListener("cuePoint", Delegate.create(this, selectListItem));
import mx.video.FLVPlayback;
import mx.controls.List;
import mx.utils.Delegate;
var cfp:FLVPlayback;
var cli:List;
function onVideoMeta(oEvent:Object):Void {
trace("onVideoMeta >");
// retrieve metadata from FLVPlayback instance
var oMeta:Object = oEvent.target.metadata;
// retrieve cue point data from video
var aCues:Array = oMeta.cuePoints;
// loop through cue point data and
// find navigation cue points
trace("\tcue points:");
for(var i:Number = 0; i < aCues.length; i++){
var oCue:Object = aCues[i];
trace("\t\t" + i + ": name: " + oCue.name + ", type: " + oCue.type);
cli.addItem(oCue.name);
}
}
function onCueSelect(oEvent:Object):Void {
cfp.seekToNavCuePoint(oEvent.target.value);
}
function selectListItem(oEvent:Object):Void {
var oCue:Object = oEvent.info;
for(var i:Number = 0; i < cli.dataProvider.length; i++){
var oItem:Object = cli.getItemAt(i);
if(oItem.label == oCue.name){
cli.selectedIndex = i;
break;
}
}
}
cfp.addEventListener("metadataReceived", Delegate.create(this, onVideoMeta));
cli.addEventListener("change", Delegate.create(this, onCueSelect));
cfp.addEventListener("cuePoint", Delegate.create(this, selectListItem));