首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AS3声音加载

AS3声音加载
EN

Stack Overflow用户
提问于 2012-11-13 04:44:13
回答 1查看 2.4K关注 0票数 0

我使用下面的代码加载一个外部mp3文件:

代码语言:javascript
复制
//Create an instance of the Sound class
var soundClip:Sound=new Sound();

//Create a new SoundChannel Object
var sndChannel:SoundChannel=new SoundChannel();

//Load sound using URLRequest
soundClip.load(new URLRequest("namesounds/agamemnonas.mp3"));

//Create an event listener that wll update once sound has finished loading
soundClip.addEventListener(Event.COMPLETE,onComplete,false,0,true);
function onComplete(evt:Event):void {
    //Play loaded sound
    sndChannel=soundClip.play();
}

在我的html中也有一个下拉列表:

代码语言:javascript
复制
<select name="sounds" id="sounds">
  <option value="sounds/eden.mp3" selected="selected">eden</option>
  <option value="sounds/zeus.mp3">zeus</option>
  <option value="sounds/earth.mp3">earth</option>
</select>

是否可以将下拉菜单中的路径发送到flash文件?例如:

代码语言:javascript
复制
//Load sound using URLRequest
soundClip.load(new URLRequest("namesounds/agamemnonas.mp3"));

URLRequest必须是我的.php文件中下拉菜单列表中的路径。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-13 04:46:32

您必须在AS中使用ExternalInterface.addCallback,并从javascript调用该函数

AS3

代码语言:javascript
复制
ExternalInterface.addCallback("loadSoundClip", loadSoundClip);
function loadSoundClip(mp3File:String):void{
    soundClip.load(new URLRequest(mp3File));
}

纯Javascript

代码语言:javascript
复制
// This is the <select>
var sounds = document.getElementById('sounds');
// This is the <object>/<embed>
var flashObject = document.getElementById('flashObject');
sounds.onchange = function(){
    flashObject.loadSoundClip(sounds.options[sounds.selectedIndex].value);
};

jQuery

代码语言:javascript
复制
// This is the <select>
var sounds = $('#sounds');
// This is the <object>/<embed>
var flashObject = $('#flashObject');
sounds.on('change', function(){
    flashObject[0].loadSoundClip($(this).val());
});

不要忘记将flash object /object的object设置为正确的值,以便页面可以与 object进行通信

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13351275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档