How to trace embedded cue points using Flvplayback

Hi Everyone,

I’ve got several flv’s with a bunch of embedded cue points. I’m streaming these flvs from an FMS simultaneously and switching between them on the fly via a combobox. I’m trying to add some movieclips to the stage that represent the cue points so that when you switch to a new flv a new set of cue point markers will be generated for that clip. My problem is that I cannot find a way to get a list (or array) of the embedded cue points using the flvplayback component.

I’ve seen a way to do this using Netstream.onMetaData but i’d prefer to use the flvplayback. Here’s my code:


import fl.video.*;
import fl.video.MetadataEvent;

var _clipTime:Number=0;
var _transInit:Boolean=false;
var _prevBtn:int=0;
var _whichTrans:int = 1;

transPlayer.addEventListener(VideoEvent.PLAYING_STATE_ENTERED, initStream);
transPlayer.addEventListener(VideoEvent.PLAYING_STATE_ENTERED, playStream);
transPlayer.addEventListener(VideoEvent.PLAYHEAD_UPDATE, testSource);
feqBtn_cb.addEventListener(Event.CHANGE, switchStream);
feqBtn_cb.addItem({data:"rtmp://fmsserver/clip1", label:"clip1"});
feqBtn_cb.addItem({data:"rtmp://fmsserver/clip2", label:"clip2"});
feqBtn_cb.addItem({data:"rtmp://fmsserver/clip3", label:"clip3"});
feqBtn_cb.addItem({data:"rtmp://fmsserver/clip4", label:"clip4"});
feqBtn_cb.addItem({data:"rtmp://fmsserver/clip5", label:"clip5"});
feqBtn_cb.addItem({data:"rtmp://fmsserver/clip6", label:"clip6"});

for (var i = 0; i<feqBtn_cb.length; i++) {
	transPlayer.activeVideoPlayerIndex=i;
	transPlayer.autoPlay=false;
	transPlayer.source=feqBtn_cb.getItemAt(i).data;
}
transPlayer.addEventListener(MetadataEvent.METADATA_RECEIVED, testCP);

function initStream(event:VideoEvent) {
	_transInit=true;
	transPlayer.activeVideoPlayerIndex=0;
	transPlayer.visibleVideoPlayerIndex=0;
	transPlayer.removeEventListener(VideoEvent.PLAYING_STATE_ENTERED, initStream);
	transPlayer.addEventListener(VideoEvent.PAUSED_STATE_ENTERED, pauseStream);
	
}

function switchStream(event:Event) {
	_clipTime=transPlayer.playheadTime;
	var whichBtnIndex:int = event.currentTarget.selectedIndex;
	transPlayer.activeVideoPlayerIndex=whichBtnIndex;
	transPlayer.visibleVideoPlayerIndex=whichBtnIndex;
	if (_transInit==true&&_prevBtn!=whichBtnIndex) {
		transPlayer.play();
		transPlayer.seek(_clipTime);
	}
	_prevBtn=whichBtnIndex;
}

function testCP(event:MetadataEvent) {
	//This does not work... i get this error message
	//ReferenceError: Error #1077: Illegal read of write-only property cuePoints on fl.video.FLVPlayback.
	//trace(event.currentTarget.cuePoints);
}

function pauseStream(event:VideoEvent) {
	testAnim.stop();
}

function playStream(event:VideoEvent) {
	testAnim.play();
}

function testSource(event:VideoEvent) {
	trace(Math.floor(transPlayer.playheadTime));
	testAnim.gotoAndStop(Math.floor(transPlayer.playheadTime));
}