Здраствуете, у меня возникла проблема с <audio>.
При событии "timeupdate" я получаю currenTime и все отлично работает , но в опере -если нажать на кнопку которая загружает трек , то текущую позичию всегда показывает 0 , а если потом нажать на паузу - то начинает все считать нормально. Подскажите пожалусто в чем проблема.
var audio = new Audio();
function load_audio(track_id){
var canPlayOgg = !!audio.canPlayType
&& audio.canPlayType('audio/ogg; codecs="vorbis"') != "";
if (canPlayOgg){
audio.setAttribute("src",track_id+".ogg");
audio.setAttribute("type",'audio/ogg; codecs="vorbis"');
audio.load();
}
else{
audio.setAttribute("src",track_id+".mp3");
audio.setAttribute("type",'audio/mpeg; codecs="mp3"');
audio.load();
}
audio.play();
}
function audio_forward(){
audio.currentTime+=20.0;
}
function initalize_audio(){
var duration = document.getElementById('duration');
audio.addEventListener("durationchange", function() {
duration.innerHTML = audio.duration+' sec / ';
}, false);
var current = document.getElementById('current');
audio.addEventListener("timeupdate", function() {
current.innerHTML = audio.currentTime+' sec / ';
}, false);
var mute = document.getElementById('mute');
mute.addEventListener('click', function(){
if (audio.muted)
{
audio.muted=false;
}
else
{
audio.muted=true;
}
});
var play = document.getElementById('play');
play.addEventListener('click', function(){
audio.play();
});
var pause = document.getElementById('pause');
pause.addEventListener('click', function(){
audio.pause();
}, false);
};
<!DOCTYPE html>
<html>
<head>
<title>testplayer</title>
<script src="player.js"></script>
</head>
<body>
<div>
<input id="play" type="button" value="Play" />
<input id="pause" type="button" value="Pause" />
<input id="mute" type="button" value="mute" /><br>
<span id="current"> </span><br>
<span id="duration"> </span><br>
</div>
<input id="track1" type="button" value="test1" onclick="load_audio(\'test\');"/>
<input id="track2" type="button" value="test2" onclick="load_audio(\'test2\');"/>
<input id="forward" type="button" value="+20sec" onclick="audio_forward();"/>
<script type="text/javascript">
initalize_audio();
</script>
</body>
</html>
пример