首先,我的swf在火狐和Chrome上运行得很好,当我第一次在IE9中访问我的页面时,它也能正常工作。但是当我转到我的网站上的另一个页面时,flash应该会重新启动(播放音频),但它没有。当我清除缓存时,它将再次为这一页工作。
这几乎肯定是Internet Explorer缓存问题,请不要建议不缓存,因为这是一个相当大的闪存文件,需要在页面之间缓存,但需要重新启动。
我已经尝试过了:我添加了一个ExternalInteface回调方法,叫做“重新启动flash",那就是重启我的音频播放,但是在我的html页面中,我不知道该怎么做。我还有其他外部接口在swf对象和html/javascript之间来回调用,所以我知道怎么做。
我已经搜索了谷歌,已经有5个不同的论坛说要么添加一个时间戳,要么指定不缓存,这两者都避免了缓存。有什么想法吗?谢谢!
编辑:如何在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发布于 2011-07-16 03:01:46
几天过去了,我找到了一个解决方案。在页面加载时,我只是在我的动作脚本中调用了一个名为restartFlash的函数,它会再次启动声音。现在它也可以在IE上工作了。
<SCRIPT LANGUAGE='Javascript'>
window.onload = function()
{
getFlashMovie("flashdemo").restartFlash();
}
</SCRIPT>https://stackoverflow.com/questions/6615640
复制相似问题