2013-10-15 5 views
0

У меня около 50 предложений на каждой странице и нажимается на каждый из них, когда воспроизводится конкретный короткий mp3 (200-300 КБ).Как предварительно загрузить mp3-файлы

<p class='sent' id='01/01.mp3'>some text</p> 
<p class='sent' id='01/02.mp3'>some text</p> 
<p class='sent' id='01/03.mp3'>some text</p> 
.... 

JS

$(".sent").click(function() { 
abc=$(this).attr('id'); 
$('#player').html("<embed src=\""+abc+"\" hidden=\"true\" autostart=\"true\" loop=\"" + loop +"\" />"); 
}); 

Я предпочитаю это решение по html5 audio tag из-за совместимости/хром FireFox, то есть мне не нужно, чтобы преобразовать много файлов из mp3 в ogg, но недостатком является то, что mp3 файлы не предварительно загружены, поэтому между щелчком и воспроизведением существует огромная тишина.

Любое решение для предварительной загрузки mp3-файлов?
Или, может быть, лучшее полное решение?

+0

Я бы порекомендовал использовать звук html5 или использовать mp3-флеш-память. Оба метода имеют методы предварительной загрузки mp3. – user120242

ответ

1

Кажется, что ваш сценарий jquery использует свойства тегов html5. вы можете попробовать свойство preload. preload = auto;

EDIT: Кстати, это свойство говорит, чтобы начать загрузку файла, как только страница начнет загружаться. Если вы хотите проверить, загружен ли файл первым, а затем воспроизвести его, вы можете использовать событие on.

+0

MentalRay, попробую, но я думаю, что «встраивание» объекта - это еще одна история из собственного «html5 audio». – bonaca

+0

@MentalRay, он использует тег embed, а не html5 audio – user120242

+0

@ user120242 hmmm из-за всех этих проблем совместимости, и тот факт, что вам нужен предварительный загрузчик, почему бы вам не попробовать jPlayer? – MentalRay

Смежные вопросы