Reputation: 83328
How one can set the start position of media when play button of element is pressed?
I have tried to set currentTime (audio.currentTime = musicStartTime) in the following events, but they all seem to be ignored, or lead to a infinite event loop
load
canplaythrough
play
... or do I need to create 100% custom control UI just for this use case?
Tested with Chrome, FF.
Sample code::
$(this.audio).bind("load", function() {
audio.currentTime = musicStartTime;
console.log("Loaded:" + src);
});
$(this.audio).bind("play", function() {
console.log("Trying to set start time:" + musicStartTime);
audio.currentTime = musicStartTime;
});
audio.src = src;
Upvotes: 3
Views: 3845
Reputation: 18870
Try something like the following, which doesn't use jQuery:
<audio id="myAudioElement" src="myFile.mp3" type="audio/mp3"></audio>
var audio = document.getElementById("myAudioElement");
var musicStartTime = 5;
audio.addEventListener('canplaythrough', function() {
audio.currentTime = musicStartTime;
console.log("Loaded:" + src);
}, false);
Upvotes: 2