2 Replies Latest reply on Sep 21, 2009 7:58 AM by gregjb

    swf not playing in browser

    gregjb Level 1

      Hi. My site works perfectly when played locally, but now that it is on a test server my swf has disappeared. The swf is an empty shell in which an xml file is played. I have encountered this before and have fixed it, but I cannot find where my code is wrong this time. Any ideas?

       

      http://www.d1082919.mydomainwebhost.com/test/about.html

        • 1. Re: swf not playing in browser
          Ned Murphy Adobe Community Professional & MVP

          There is nothing wrong with the page code.  The swf file appears to be loaded.  So the problem is likely in the swf's internal coding or the xml file you say it involves is not available where it should be.  If you show the code in the file then someone may be able to help.

          • 2. Re: swf not playing in browser
            gregjb Level 1

            thanks. Here is the code from the fla:

             

             

            /****************************/

            /* Crossfading slide show   */

            /* Author: Todd Dominey     */

            /* http://whatdoiknow.org   */

            /* http://domineydesign.com */

            /****************************/

             

            // set random # variables - each must be 0 for first 'while' loop below

            var randomNum = 0;

            var randomNumLast = 0;

             

            // parent container

            var container_mc = this.createEmptyMovieClip("container",0);

            // movie clip containers

            container_mc.createEmptyMovieClip("loader1_mc",2);

            container_mc.createEmptyMovieClip("loader2_mc",1);

             

            // preload watcher

            this.createEmptyMovieClip("watcher_mc",100);

             

            // load xml

            images_xml = new XML();

            images_xml.ignoreWhite=true;

            images_xml.onLoad = parse;

            images_xml.load("images.xml");

             

            function parse(success) {

            if (success) {

            imageArray = new Array();

            var root = this.firstChild;

            _global.numPause = Number(this.firstChild.attributes.timer * 1000);

            _global.order = this.firstChild.attributes.order;

            _global.looping = this.firstChild.attributes.looping;

            _global.fadetime = Number(this.firstChild.attributes.fadetime);

            _global.xpos = Number(this.firstChild.attributes.xpos);

            _global.ypos = Number(this.firstChild.attributes.ypos);

            var imageNode = root.lastChild;

            var s=0;

            while (imageNode.nodeName != null) {

            imageData = new Object;

            imageData.path = imageNode.attributes.path;

            imageArray[s]=imageData;

            imageNode = imageNode.previousSibling;

            s++;

            }

            // place parent container

            container_mc._x = _global.xpos;

            container_mc._y = _global.ypos;

            // parse array

            imageArray.reverse();

            imageGen(imageArray);

            } else {

            trace('problem');

            }

            }

             

            // depth swapping

            function swapPlace(clip,num) {

            eval(clip).swapDepths(eval("container_mc.loader"+num+"_mc"));

            }

             

            function loadImages(data,num) {

            if (i==undefined || i == 2) {

            i=2;

            createLoader(i,data,num);

            i=1;

            } else if (i==1) {

            createLoader(i,data,num);

            i=2;

            }

            }

            function createLoader(i,data,num) {

            thisLoader=eval("container_mc.loader"+i+"_mc");

            thisLoader._alpha=0;

            thisLoader.loadMovie(data[num].path);

            watcher_mc.onEnterFrame=function () {

            var picLoaded = thisLoader.getBytesLoaded();

            var picBytes = thisLoader.getBytesTotal();

            if (isNaN(picBytes) || picBytes < 4) {

            return;

            }

            if (picLoaded / picBytes >= 1) {

            swapPlace("container_mc.loader2_mc",1);

            alphaTween = new mx.transitions.Tween(thisLoader, "_alpha", mx.transitions.easing.Regular.easeOut,0,100,_global.fadetime,true);

            timerInterval = setInterval(imageGen,_global.numPause,data);

            delete this.onEnterFrame;

            }

            }

            }

            function imageGen(data) {

            // random, or sequential?

            if (_global.order=="random") {

            // choose random # between 0 and total number of images

            while (randomNum == randomNumLast) {

            randomNum = Math.floor(Math.random() * data.length);

            trace(randomNum);

            }

            loadImages(data,randomNum);

            randomNumLast = randomNum;

            } else if (_global.order=="sequential") {

            // start at 0, increment to total number of images, then drop back to zero when done

            if (p==undefined || p==data.length && _global.looping=="yes") { p=0; } else { break; }

            loadImages(data,p);

            p++;

            } else {

            trace ("order attribute in xml isn't correct - must specify either 'random' or 'sequential'");

            }

            clearInterval(timerInterval);

            }

            stop();

             

             

            and here is the code from the xml file:

             

             

            <!-- 

            'timer' :: number of seconds between each image transition

            'order' :: how you want your images displayed. choose either 'sequential' or 'random'

            'looping' :: if the slide show is in sequential mode, this stops the show at the last image (use 'yes' for looping, 'no' for not)

            'fadeTime' :: velocity of image crossfade. Increment for faster fades, decrement for slower. Approximately equal to seconds.

            'xpos' :: _x position of all loaded clips (0 is default)

            'ypos' :: _y position of all loaded clips (0 is default)

            -->

            <gallery timer="4" order="sequential" fadetime="2" looping="yes" xpos="0" ypos="0">

            <image path="images/loop_1.jpg" />

            <image path="images/loop_2.jpg" />

            <image path="images/loop_3.jpg" />

            </gallery>