Loading external swf and setting its relative path

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.


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();

Open in new window

Who is Participating?
Antonio EstradaConnect With a Mentor Tech Leader / Senior Web DeveloperCommented:
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.

Antonio EstradaTech Leader / Senior Web DeveloperCommented:
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:


newstandardAuthor Commented:
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.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.