Подтвердить что ты не робот

Как искать с AudioContext

Я хотел бы создать кнопки, которые будут воспроизводить следующую/предыдущую песню при нажатии, но они должны искать музыку при длительном нажатии.

Мне удалось изменить песни, но я не смог найти методы поиска. Также как заставить его играть с самого начала?

И есть ли способ определить, сколько прошло с начала песни? Я обнаружил, что буфер имеет продолжительность, но не петь фактическое время воспроизведения.

В init:

context = new (window.AudioContext || window.webkitAudioContext)()

Чтобы воспроизвести песню:

var buffer = song.buffer
var source = context.createBufferSource()
source.buffer = song.buffer
source.connect(analysers.main)
source.start(0, offset || 0)
4b9b3361

Ответ 2

Используйте API taphold, чтобы получить событие с длинным нажатием.

$(function(){
  $( "your element" ).bind( "taphold", tapholdHandler );

  function tapholdHandler( event ){
   /*write your code here for seek forward */

  }
});

Использовать таймер JQuery

var mousedowntime;
    var presstime;
    $("button[id$='" + buttonID + "']").mousedown(function() {
        var d = new Date();
        mousedowntime = d.getTime();
    });
    $("button[id$='" + buttonID + "']").mouseup(function() {
        var d = new Date();
        presstime = d.getTime() - mousedowntime;
        if (presstime > 999/*You can decide the time*/) {
            //Do_Action_Long_Press_Event();
        }
        else {
            //Do_Action_Click_Event();
        }
    });

Играть с начала

function beginAudio(){
            audio.trigger('pause');
            audio.prop("currentTime",audio.prop("currentTime")-audio.prop("currentTime"));
            audio.trigger('play');
        }

или установите текущее время на ноль, а затем воспроизведите.

Для прямого и обратного использования используйте

audio.prop("currentTime",audio.prop("currentTime")-5);// 5 secs backward
audio.prop("currentTime",audio.prop("currentTime")+5);// 5 secs forward