I have made an xml video viewer which works great, however I am getting output errors when I run it- I’m not sure why or what is being affected, but if anyone could help I’d appreciate it.
The errors are as follows:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at fl.containers::ScrollPane/drawBackground()
at fl.containers::ScrollPane/draw()
at fl.core::UIComponent/callLaterDispatcher()
TypeError: Error #2007: Parameter child must be non-null.
at flash.display::DisplayObjectContainer/addChildAt()
at fl.controls::BaseButton/drawBackground()
at fl.controls::BaseButton/draw()
at fl.core::UIComponent/drawNow()
at fl.controls::ScrollBar/draw()
at fl.core::UIComponent/callLaterDispatcher()
TypeError: Error #2007: Parameter child must be non-null.
at flash.display::DisplayObjectContainer/addChildAt()
at fl.controls::BaseButton/drawBackground()
at fl.controls::BaseButton/draw()
at fl.core::UIComponent/callLaterDispatcher()
TypeError: Error #2007: Parameter child must be non-null.
at flash.display::DisplayObjectContainer/addChildAt()
at fl.controls::BaseButton/drawBackground()
at fl.controls::LabelButton/draw()
at fl.core::UIComponent/callLaterDispatcher()
TypeError: Error #2007: Parameter child must be non-null.
at flash.display::DisplayObjectContainer/addChildAt()
at fl.controls::BaseButton/drawBackground()
at fl.controls::BaseButton/draw()
at fl.core::UIComponent/callLaterDispatcher()
TypeError: Error #2007: Parameter child must be non-null.
at flash.display::DisplayObjectContainer/addChildAt()
at fl.controls::BaseButton/drawBackground()
at fl.controls::BaseButton/draw()
at fl.core::UIComponent/callLaterDispatcher()
TypeError: Error #2007: Parameter child must be non-null.
at flash.display::DisplayObjectContainer/addChildAt()
at fl.controls::BaseButton/drawBackground()
at fl.controls::BaseButton/draw()
at fl.core::UIComponent/drawNow()
at fl.controls::ScrollBar/draw()
at fl.core::UIComponent/callLaterDispatcher()
TypeError: Error #2007: Parameter child must be non-null.
at flash.display::DisplayObjectContainer/addChildAt()
at fl.controls::BaseButton/drawBackground()
at fl.controls::BaseButton/draw()
at fl.core::UIComponent/callLaterDispatcher()
TypeError: Error #2007: Parameter child must be non-null.
at flash.display::DisplayObjectContainer/addChildAt()
at fl.controls::BaseButton/drawBackground()
at fl.controls::LabelButton/draw()
at fl.core::UIComponent/callLaterDispatcher()
TypeError: Error #2007: Parameter child must be non-null.
at flash.display::DisplayObjectContainer/addChildAt()
at fl.controls::BaseButton/drawBackground()
at fl.controls::BaseButton/draw()
at fl.core::UIComponent/callLaterDispatcher()
TypeError: Error #2007: Parameter child must be non-null.
at flash.display::DisplayObjectContainer/addChildAt()
at fl.controls::BaseButton/drawBackground()
at fl.controls::BaseButton/draw()
at fl.core::UIComponent/callLaterDispatcher()
Here is the code I used:
import fl.transitions.easing.*;
import fl.transitions.Tween;
import fl.transitions.TweenEvent;
var flvControl = mc_all.mc_Loader.movieLoader;
var vidList:Array = [];
var vidTitle:Array = [];
var vidDesc:Array = [];
var thumbTitle:Array = [];
var thumbList:Array = [];
var fadeOut:Tween;
var fadeIn:Tween;
var vidIndex:Number = 0;
var b:Number = 0;
var c:Number = 0;
var xSpacing:Number = 140;
var ySpacing:Number = 97;
var xs:Number = 0;
var ys:Number = 0;
var thumbRowCount:Number = 2;
var myFont:Font = new Font1();
var textFormat:TextFormat = new TextFormat();
textFormat.font = myFont.fontName;
textFormat.italic = true;
textFormat.size = 10;
btnPlay.buttonMode = true;
var xmlURLLoader:URLLoader = new URLLoader();
var xmlURLRequest:URLRequest = new URLRequest( "gallery.xml" );
xmlURLLoader.load( xmlURLRequest );
xmlURLLoader.addEventListener(Event.COMPLETE, sortTheXML);
function sortTheXML(event:Event):void {
var xmlData:XML = new XML( xmlURLLoader.data );
var a:Number = xmlData.video_path.length();
while ( b < a ) {
vidList.push(xmlData.video_path**);
vidTitle.push(xmlData.video_title**);
vidDesc.push(xmlData.video_desc**);
thumbTitle.push(xmlData.thumb_title**);
thumbList.push(xmlData.thumb_path**);
b = b + 1;
}
flvControl.bufferTime = 3;
flvControl.source = vidList[ vidIndex ];
text_mc.vidTitleBox.text = vidTitle[ vidIndex ];
text_mc.vidDescBox.text = vidDesc[ vidIndex ];
fadeIn = new Tween(text_mc, "alpha", None.easeNone, 0, 1, .5, true);
loadTheThumbs();
function loadTheThumbs() {
var thumbLoader:Loader = new Loader();
var thumbRequest:URLRequest = new URLRequest( thumbList[c]);
thumbLoader.load( thumbRequest );
thumbLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, whenThumbsLoad);
function whenThumbsLoad(event:Event):void {
var thisThumbsLink:String = vidList[ c ];
var thisPicsTitle:String = vidTitle[ c ];
var thisPicsDesc:String = vidDesc[ c ];
var thisThumbsTitle:String = thumbTitle[ c ];
thumbLoader.x = (xs * xSpacing) + 26 ;
thumbLoader.y = (ys * ySpacing) + 1;
xs = xs + 1;
if ( xs == thumbRowCount ) {
xs = 0;
ys = ys + 1;
}
all_thumbs.buttonMode = true;
thumbLoader.addEventListener(MouseEvent.CLICK, showVid);
var thumbTitleBox:TextField = new TextField;
thumbTitleBox.defaultTextFormat = textFormat;
thumbTitleBox.embedFonts = true;
thumbTitleBox.text = thisThumbsTitle;
thumbTitleBox.x = thumbLoader.x;
thumbTitleBox.y = thumbLoader.y + thumbLoader.height;
thumbTitleBox.textColor = 0xFFFFFF;
var Play:MovieClip = new playBtnOver;
Play.x = thumbLoader.x + thumbLoader.width/2;
Play.y = thumbLoader.y + thumbLoader.height/2;
function showVid(event:MouseEvent):void {
fadeOut = new Tween(text_mc, "alpha", None.easeNone, 1, 0, .5, true);
fadeOut.addEventListener(TweenEvent.MOTION_FINISH, fadeTextIn);
flvControl.source = thisThumbsLink;
function fadeTextIn(event:TweenEvent):void {
text_mc.vidDescBox.text = thisPicsDesc;
text_mc.vidTitleBox.text = thisPicsTitle;
fadeIn = new Tween(text_mc, "alpha", None.easeNone, 0, 1, .5, true);
}
}
all_thumbs.addChild( thumbLoader );
all_thumbs.addChild( thumbTitleBox );
all_thumbs.addChild( Play );
c = c + 1;
if (c < a ) {
loadTheThumbs();
}
}
}
flvControl.playPauseButton = btnPlay;
flvControl.seekBar = btnSeekBar;
flvControl.volumeBar = btnVolumeBar;
flvControl.bufferTime = 3;
}
this.addEventListener(Event.ENTER_FRAME, updateNP);
function updateNP(event:Event):void {
// time code code...
var totalSeconds:Number = flvControl.playheadTime;
var totalSeconds2:Number = flvControl.totalTime;
var minutes:Number = Math.floor(totalSeconds /60);
var minutes2:Number = Math.floor(totalSeconds2 /60);
var seconds = Math.floor (totalSeconds) % 60;
var seconds2 = Math.floor (totalSeconds2) % 60;
if (seconds < 10) {
seconds = "0" + seconds;
}
if (seconds2 < 10) {
seconds2 = "0" + seconds2;
}
timeBox.text = minutes + ":" + seconds + " / " + minutes2 + ":" + seconds2;
timeTotalBox.text = minutes2 + ":" + seconds2;
}
Thanks in advance!