我想要一个链接来触发Flash AS3中的声音点击。我已经在函数外部使用.play()来确认它本身是否有效。我错过了什么让我从javascript调用AS3函数?
这是我的HTML
<object width="5px" height="5px">
<param name="movie" value="play_coin_sound/playCoin.swf?v=5">
<param name="wmode" value="transparent">
<embed src="play_coin_sound/playCoin.swf?v=5" width="5px" height="5px">
</object>
<span id="play-sound">Play Sound</span>
这是我的javascript
$('#play-sound').click(function(){ playCoin(); });
这是我的AS3功能
var coinSound:Sound = new Sound();
coinSound.load(new URLRequest("coin.mp3"));
function playCoin() {
coinSound.play();
}
有什么想法吗?
答案 0 :(得分:1)
如果您比使用ActionScript更熟悉JavaScript,可以尝试使用SoundManager:
“通过包装和扩展HTML5和Flash Audio API,SoundManager 2 为JavaScript带来可靠的跨平台音频。“
http://www.schillmania.com/projects/soundmanager2/
编辑:澄清一下,SoundManager在必要时让我们使用Flash,比如在不支持HTML5音频的浏览器中,或者如果你想在不支持HTML的浏览器中使用MP3。
答案 1 :(得分:0)
以下博客文章解释了如何使用ExternalInterface类来侦听将触发AS3功能的javascript函数调用。它提供了双向通信的示例。
http://www.viget.com/inspire/bi-directional-actionscript-javascript-communication/
答案 2 :(得分:0)