我有一个网站,当您点击按钮时会播放声音。
我就是这样做的
function PlaySound(soundfile) {
$('#soundContainer').html("<embed src='/uploads/sounds/" + soundfile + "' hidden=true autostart=true loop=false>");
}
如何预先预加载声音文件?
谢谢。
答案 0 :(得分:14)
只是想到我的头脑,你可以为声音文件发出ajax请求,但是在文件100%加载之前不要显示按钮。
$(document).ready(function() {
$.ajax({
url: "soundfile.mp3",
success: function() {
$("#play_button").show();
}
});
});
答案 1 :(得分:2)
有很多更好的方法可以用JavaScript播放声音。对于我的最爱,请查看SoundManager。有了它,您只需拨打soundManager.load
即可加载声音文件。
答案 2 :(得分:2)
在HTML5中执行此操作:
dim strWhere as string
dim dtRequeestStartDate as date
dim dtRequestEndDate as date
dim lngCarID as long
dtRequestStartDate = inputbox("Enter start Date")
dtRequestEndDate = inputbox("Enter end date")
lngCarID = inputbox("What car id")
strWhere="#" & format(dtRequestStartDate,"mm/dd/yyyy") & "# <= EndDate" & _
" and #" & format(dtRequestEndDate,"mm/dd/yyyy") & "# >= StartDate and CarID = " & lngCarID
if dcount("*","tableBooking",strWhere) > 0 then
msgbox "sorry, you cant book
...bla bla bla....
然后播放:
my_sound = $("<audio>", {src:"filename.mp3",preload:"auto"}).appendTo("body");
答案 3 :(得分:0)
向它发出AJAX请求。如果您的服务器发出正确的缓存标头(例如 Expires ),它将存储在浏览器缓存中。
丑陋的方式:
soundfile = new Image(); soundfile.src = /uploads/sounds/" + soundfile;
答案 4 :(得分:0)
没有<embed>
这样的东西。
您可以使用HTML5 <audio>
元素而不使用autoplay
,然后让它开始使用其play()
方法。