1
votes

First of all my swf works fine in Firefox, and Chrome, and it works the first time i visit my page in IE9. But when i go to a different page on my website the flash is supposed to start up again (playing audio) but it does not. When i clear the cache it will work again for that one page.

This is almost certainly a Internet Explorer cacheing problem, and please do NOT suggest no cache, as this is a rather large flash file and needs to be cached between pages, but needs to be restarted.

What i've tried: i added an ExternalInteface callback method called "restart flash", that is to restart my audio playing, but in my html page im not sure how to go about this. I have other external interface calls back and forth between the swf object and the html/javascript, so i know how to do this.

I've searched google and already 5 different forums say either add a time stamp, or specify no cache, both which avoid caching. Any idea? thanks!

Edit: How i play the sound in AS3

var newSound:Sound = new Sound();
newSound.load(new URLRequest("http://translate.google.com/translate_tts?tl=en&q=" + temp));
var channel:SoundChannel = new SoundChannel();
channel = newSound.play();
channel.addEventListener(Event.SOUND_COMPLETE, playNext); ....etc
1
Let me just say it's not a caching problem, It's a developers problem with not posting the code to play the sound.The_asMan
if you say so, but i dont think it makes a difference since this works fine on firefox and chrome, this seems to be an IE issue, but ill post it anyways how i play the soundStefan
Is the code wrapped in a function? What calls that function? where is it located?The_asMan
I am experiencing this problem also, only in IE9. I believe it has something to do with the caching of the sound file, though, not the flash swf.mrcrowl

1 Answers

1
votes

well its been a few days, and i found a solution. On page load, i just call a function called restartFlash in my actionscript that starts the sound again. Now it works on IE too.

<SCRIPT LANGUAGE='Javascript'>
 window.onload = function()
    {

getFlashMovie("flashdemo").restartFlash();
  }
 </SCRIPT>