У меня есть веб-сайт, который играет звук, когда Вы нажимаете кнопку.
Это - то, как я делаю это
function PlaySound(soundfile) {
$('#soundContainer').html("<embed src='/uploads/sounds/" + soundfile + "' hidden=true autostart=true loop=false>");
}
Как Вы предварительно загружаете звуковой файл заранее?
Спасибо.
просто подумав, можете ли вы сделать запрос ajax для звукового файла, но не показывать кнопку, пока файл не будет загружен на 100%.
$(document).ready(function() {
$.ajax({
url: "soundfile.mp3",
success: function() {
$("#play_button").show();
}
});
});
Не существует такой вещи, как
.
Вы можете использовать элемент HTML5
без autoplay
, а позже заставить его начать воспроизведение с помощью метода play ()
.
Есть много лучших способов воспроизвести звук с помощью JavaScript. Мой любимый вариант - SoundManager . С его помощью вы можете просто вызвать soundManager.load
, чтобы предварительно загрузить звуковой файл.
Сделайте к нему запрос AJAX. Если ваш сервер выдает правильные заголовки кеширования (например, Expires ), они будут сохранены в кеше браузера.
Уродливый способ:
soundfile = new Image(); soundfile.src = /uploads/sounds/" + soundfile;