Показать сообщение отдельно
  #1 (permalink)  
Старый 24.03.2013, 13:54
Новичок на форуме
Отправить личное сообщение для prox2x Посмотреть профиль Найти все сообщения от prox2x
 
Регистрация: 24.03.2013
Сообщений: 2

Audio-не работает currenTime в Opera в начале
Здраствуете, у меня возникла проблема с <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>


пример
Ответить с цитированием