Solved

Loading external swf and setting its relative path

Posted on 2008-06-10
3
3,731 Views
Last Modified: 2010-01-25
I am trying to create a flash viewer, which will load various other flash movies. The viewer will be in the root directory, but the flash movies it will load are a few directories deep. Those movies access various sound clips that are in an audio directory relative to each swf I want to load.

/flashViewer.swf
/myContent/someProgram/program.swf
/myContent/someProgram/audio/sound1.wav

It seems that when I load one of these movies into my viewer, the loaded movie is looking for the sounds in an audio folder in the root directory, and not relative to the swf I loaded. Is there a way to set this? I would rather not have to make the changes in each of my other movies to use the absolute path
var request:URLRequest = new URLRequest(movieSrc);
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete);
loader.load(request);
stage.addChild(loader);

Open in new window

0
Comment
Question by:newstandard
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 18

Expert Comment

by:Antonio Estrada
ID: 21753957
I think it's safer to just move the files.

When you load any *.swf into another *.swf, it's URL changed to that one of the parent, in this case, the root directory. The easiest thing to do in this kind of scenarios is to move them, so you end up with something like this:

/flashViewer.swf
/audio/sound1.wav
/myContent/someProgram/program.swf

-V
0
 

Author Comment

by:newstandard
ID: 21754943
That would work, except the audio files have the same name for each swf. I would move the swf's that Iam trying to load, but the point of me creating the viewer is to try and make them hidden, as we are trying to secure them as much as we can.
0
 
LVL 18

Accepted Solution

by:
Antonio Estrada earned 250 total points
ID: 21764319
Mhh... I'm afraid that's just not possible. Once you load a *.swf into another, it's url is the same as the main *.swf who loaded the child.

You have two options, either modify each "loadable" swf with a path coming from the loader (/myContent/someProgram/audio/sound1.wav instead of just audio/sound1.wav), or the one I mentioned earlier... with the issue of the repeating file names.

-V
0

Featured Post

[Live Webinar] The Cloud Skills Gap

As Cloud technologies come of age, business leaders grapple with the impact it has on their team's skills and the gap associated with the use of a cloud platform.

Join experts from 451 Research and Concerto Cloud Services on July 27th where we will examine fact and fiction.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I come across a lot of question about how to access things in the document class from a movieclip, or accessing something from a movieclip in the document class. It took me a while to figure this out but once I did it makes life so much easier. …
There are times in your Flash CS4 application when you want more than a simple pointer or a hand, and it's hard to find an ideal walk-through to tell you what to do.  I spent a few days recently learning my way around making custom cursors in Flash,…
The goal of the tutorial is to teach the user how to how to load their YouTube profile onto Flash Media Live Encoder.
The goal of the tutorial is to teach the user how to select the video input device. Make sure you have an input device that in connected and work and recognized by Adobe Flash Media Live Encoder and select it in the “video input” menu.

623 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question