#javascript #audio
#javascript #Аудио
Вопрос:
У меня возникла проблема с использованием этого плагина:
Я создал аннотацию со следующим кодом и пытаюсь читать из значения по умолчанию <audio>
, а не из плагина. Плагин помещает видимость: скрытый в <audio>
тег, но я не думаю, что это должно на что-либо повлиять.
Вот мой код, он предназначен для слайд-шоу, отображающего изображения с определенными интервалами в аудиофайле:
var audio = $("audio");
audio.audioPlayer();
// Slideshow
var slideshowAudio = audio.data("slideshow"),
slideshowAudioId = document.getElementById("audio-default");
if (slideshowAudio == "1") {
var audioTime = Math.floor(slideshowAudioId.currentTime);
// console.log("Current Time: " currentTime);
var slideshow = [];
$(".slideshow li").each(function () {
var id = $(this).data("slideshow-id"),
time = $(this).data("slideshow-time");
slideshow.push(time);
});
console.log(slideshow);
$(".audioplayer-playpause").on("touchend click", function () {
setInterval(function() {
alert("show " audioTime);
for (i = 0; i < slideshow.length; i ) {
if (slideshow[i] == currentTime) {
}
}
}, 1000);
});
}
Комментарии:
1. какой плагин
this plugin
— я не вижу плагина, я вижу мертвых людей, я имею в виду, код javascript2. ох… вы имеете в виду, что значение var
audioTime
равно нулю, когда вы пытаетесь предупредить об этом при обратном вызове по нажатию кнопки? конечно, это так.audioTime
устанавливается один раз, вне этой функции, предположительно, при загрузке страницы, и никогда не обновляется…audioTime
не обновляется «автоматически» с помощьюslideshowAudioId.currentTime
— если вы хотитеslideshowAudioId.currentTime
, используйтеslideshowAudioId.currentTime
3. Чтобы иметь
currentTime
тег audio. В вашем аудио должна воспроизводиться песня. Если воспроизводится песня, и вы не можете получить текущее время. Попробуйтеdocument.createElement("audio");
4. @JaromandaX извините, забыл включить это: tympanus.net/codrops/2012/12/04/… Да, audioTime равно нулю. Как мне заставить его обновлять и извлекать его?
5. вам нужно получить время в обратном вызове setInterval — вы могли бы просто поместить
audioTime = Math.floor(slideshowAudioId.currentTime)
в начало этого обратного вызова