sound.pos() Метод Howler возвращает объект, но мне нужно целое число или строка
Я пытаюсь вывести текущее время трека на HTML-страницу, используя Howler, но в данный момент он просто отображает [Object object]. Соответствующий код:
$(document).ready(function() {
var position = 0;
var sound = new Howl({
src: ["audiofiles/" + $(xml).find('mp3').text()],
autoplay: true,
loop: true,
volume: 0.5,
onload: function () {
console.log("LOADED");
}
});
// Output and update current track time as song plays
position = sound.pos();
document.getElementById("current_time").innerHTML = position;
Как извлечь информацию о времени дорожки в формате, который полезен для вывода на страницу HTML? Желательно так: [мм / сс].
Я также пытался sound.seek()
который также выводит объект.
призвание toString()
на position
Переменная yields: [объект Undefined], когда HTML загружается в браузер, и вызывает JSON.stringify()
это просто приводит к тому, что я предполагаю, что это пустая строка (вообще ничего не выводит на веб-страницу).
1 ответ
Похоже, вы используете howler.js 2.0, который изменил API для использования seek()
скорее, чем pos()
, Тем не менее, это просто поможет получить значение поиска в тот момент, вы несете ответственность за его обновление в своем HTML-формате в нужном вам темпе (посмотрите на пример проигрывателя).
Соответствующий код из примера настроен для вашего сценария:
function step() {
// Get the current position and format it however you would like.
var seek = sound.seek() || 0;
document.getElementById("current_time").innerHTML = self.formatTime(Math.round(seek));
// Update the value on each frame.
if (sound.playing()) {
requestAnimationFrame(step);
}
}