预加载声音文件
Pre-loading sound files
希望有人能帮忙,这让我疯了。。。
我正在开发一个intranet应用程序,需要预加载大量(106!)MP3文件。我正在预加载这些…
for (i=0; i<mp3Files.length; i++) {
soundSpan = document.createElement("span")
soundFileLocation = "http://wss/sites/TDABQ/" + mp3Files[i]
soundSpan.innerHTML="<embed src='" + soundFileLocation + "' hidden='true' autostart='false' loop='false' />"
document.body.appendChild(soundSpan)
}
这是可行的,但需要一段时间,然而延迟加载不是问题。
问题是,我无法找到一种方法来确定何时加载了所有文件,以便提示用户页面已准备好。
问题:
这必须在InternetExplorer6上工作(是的,真的),这样就排除了HTML5/Audio
我无法将任何内容加载到存储该应用程序的服务器上(不要问),这已经排除了SoundManager的可能性。当SoundManager与应用程序在同一台服务器上时,我可以让它正常工作,但试图从另一台服务器加载SoundManager会导致Flash>JS(或者是JS>Flash)安全设置出现问题。这些设置不能在客户端电脑上更改。
我尝试过使用JQuery的Ajax和Get方法,但由于某些原因,无法让它跨域执行Ajax调用,例如以下代码从未显示警报框
$(document).ready(function){
$.get({url:"http://wss/sites/TDABQ/field1.mp3",crossDomain:true,success:function(){alert('是!')}});
});
因此,我使用嵌入式标签来进行预加载。嵌入标记似乎不响应onLoad或onReadyStateChange事件处理程序。
我没什么想法了。。。
我如何知道所有文件何时加载???
AJAX调用不起作用,因为(对于跨域AJAX)JSONP请求是唯一允许发出的请求。当前的示例不是请求JSON,而是请求mp3。您可以请求一个具有.mp3路径的JSON文件,但这并不能解决您的问题。
我不知道声音管理器的内部工作原理。我会听从Esailija的建议,检查crossdomain.xml
Ty使用
$("#yourEmbed").bind('load', function(){
alert("Files loaded");
});
ready处理程序不起作用,因为一旦DOM完全加载,它就会被激发。
- 创建一个倒计时计时器脚本,该脚本计算声音文件的持续时间,而不是特定的日期
- 如何使用Audio API对同一声音文件进行分层
- 你能用sound.js在播放声音文件后5秒执行一个动作吗
- 如何在javascript中一个声音文件接一个声音地播放
- 当弹出窗口关闭时播放声音文件(谷歌扩展)
- 在一个网站上包含多个声音文件
- Javascript自动播放声音文件,单击其中一个按钮时停止
- 预加载声音文件
- 播放声音文件时突出显示句子
- 读取本地声音文件并在html5画布中获取波形
- 根据当前编号逐个播放声音文件
- PHP:在客户端站点上播放来自服务器的声音文件
- 如何检查声音文件是否在 JavaScript 中播放
- 谁能告诉我如何使用javascript或html或jquery在网页中播放声音文件
- 如何用javascript制作声音文件
- 将按顺序播放的声音保存为一个音频文件
- 我想根据队列播放多个声音文件
- 动态链接URL包含声音管理器2要播放的wav文件的位置
- 当满足特定条件时,可以让浏览器播放声音文件
- SoundJS如何/可以加载其他预加载程序加载的声音文件(如Pixi.Loader.Loader())