текущее время звука, возвращающее 0, а не текущее время

#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 — я не вижу плагина, я вижу мертвых людей, я имею в виду, код javascript

2. ох… вы имеете в виду, что значение 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) в начало этого обратного вызова