DEV Community

loading...

Does anyone knows how to change current time of song correctly in JavaScript?

pavelkeyzik profile image Pavel Keyzik ・1 min read

Hi, everyone! I'm trying to make custom audio player in JavaScript and when I try to change current time of song then on some songs it sets currentTime to 0. I tried to find solution and it seems like bug in Chrome or something. Maybe someone know how to fix it?

My code is so simple:

const audio = new Audio();

function playSong(songURL) {
  audio.src = songURL;
  audio.play();
}

function seek(value) {
  audio.currentTime = value;
}
Enter fullscreen mode Exit fullscreen mode

Discussion (2)

pic
Editor guide
Collapse
antopiras89 profile image
Antonio Piras • Edited

This code is perfectly fine: playcode.io/754024/
I ran into this bug some time ago and it may be caused by one or more of the following reasons:

  1. You're trying to "seek" the track before it's loaded
  2. The headers for the file are not set correctly (stackoverflow.com/questions/521379...)
  3. Sometimes Chrome simply f****s up and it needs to be killed and restarted :)

Hope this helps.

Collapse
pavelkeyzik profile image
Pavel Keyzik Author

Thank you, Antonio! It helped me a lot and I fixed the problem by providing correct headers.