У меня есть звуковая дорожка длиной около 2 часов, которую я хочу использовать на своем веб-сайте. Я хочу, чтобы он запускал воспроизведение трека в случайном положении, когда страница загружается. Возможно ли использование HTML5? Я знаю, что вы можете использовать функцию element.currentTime(), чтобы получить текущую позицию, но как бы вы получили общее время дорожки перед ее полной загрузкой? Я пробовал каждую комбинацию .load .preload .autobuffer и сотни других.Запустите HTML5 <Audio> в случайном положении
<script>
var stream_url_mp3 = "";
var stream_url_ogg = "";
var stream_total_time = 100;
var stream_start_time = Math.floor(Math.random() * stream_total_time);
var daJukebox = document.createElement('audio');
if (daJukebox.canPlayType) {
if ("" != daJukebox.canPlayType('audio/mpeg')) {
daJukebox.src = stream_url_mp3;
} else if ("" != myAudio.canPlayType('audio/ogg; codecs="vorbis"')) {
daJukebox.src = stream_url_ogg;
}
daJukebox.preload = true;
daJukebox.autobuffer = true;
daJukebox.pause();
daJukebox.currentTime = stream_start_time;
daJukebox.play();
}
Спасибо :)
Как бы вы реализовали «продолжительность данных» в javascript? Я пробовал daJukebox.data-duration = 7200; но он, похоже, не работает. (Я новичок в этом, да.) –
Вы читаете значение из атрибута с помощью JavaScript. Таким образом, у вас есть 'var duration = ...' который имеет значение '7200'. Затем вы можете использовать это значение для вычисления подходящей начальной точки для аудиофайла (путем случайного выбора номера между 1 и, скажем, 7000). Наконец, вы можете установить время начала аудиофайла на этот номер. –