2010-07-15 87 views
1

我正在为一个网站工作,对于孩子们来说,这个网站上有一个角落里谈话的小角色。 头像是一个Flash文件,计划是通过javascript和ajax的混合来确定它所说的。在AS3中一次播放一个声音,从javascript中调用

不幸的是,当我让Flash文件通过JavaScript播放一个Mp3文件时,我似乎无法停止声音..所以当我不停地点击一个链接导致它说话时,我会听到重复x次的声音。

奇怪的是,当我将非常相同的代码附加到闪光灯中的按钮时,似乎没有这样的限制。

它似乎不会在JavaScript中调用时在全局变量中存储任何内容。

任何想法这里发生了什么?

免责声明:我完全新的,当涉及到AS3(到目前为止,我真的很恨)

回答

1

如果您遇到与可靠的声音回放的问题,你是新来的AS3 ,我强烈建议使用Matt Przybylski's SoundManager class。它有助于抽象出Flash中可靠声音播放的一些细微差别。从JavaScript调用时,不应该存在“全局变量”的问题,但我们需要查看一些示例代码来帮助调试。

+0

那么绝对奇怪的是,现在,我跑了我的测试HTML页面一天后,没有修改它,它完美..所以我有点困惑发生了什么.. 我会看看链接,谢谢! – 2010-07-16 10:44:14

+0

无论何时使用JavaScript和/或Flash开发,都要注意浏览器缓存。总是清理缓存或移位刷新,以便在构建时获得最新的swf/js。有可能你的问题是由于加载缓存的早期版本的swf。 – sunetos 2010-07-16 13:54:15

0

您的Flash文件中可能有一个布尔变量,用于指示声音是否正在播放。如果变量为“true”,当Javascript要求Flash播放声音时,它不会因为它知道声音正在播放。 然后,您可以检查声音何时完成,并将布尔值设置为false。

+0

这是我尝试的第一件事,但没有奏效。奇怪的是,相同的未经修改的代码在一天后工作,所以我认为这可能是浏览器缓存问题或其他问题。不管怎么说,还是要谢谢你! – 2010-07-16 10:45:38