2010-07-15 74 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