Не работает currentTime. duration infinity
currentTime не задает время? когда я указываю .currentTime=0;
И еще- у одной песни .duration показывает, а у другой выдает infinity/ Вот код: $(function(){ music_count=0; function duration_min_sec(sec){ minutes=Math.floor(sec/60); seconds=Math.floor(sec-(minutes*60)); if(seconds<10) seconds="0"+seconds; if(minutes<10) minutes="0"+minutes; return minutes+" : "+seconds; } $("div.player div.controls span").click(function(){ controls_btn=$(this).attr("id"); switch (controls_btn){ case "play": music[music_count].play(); $("#length").html(duration_min_sec(music[music_count].duration)); $("div.player div.controls span#play").css({'visibility':'hidden'}); $("div.player div.controls span#pause").css({'visibility':'visible'}); break; case "pause": music[music_count].pause(); $("div.player div.controls span#play").css({'visibility':'visible'}); $("div.player div.controls span#pause").css({'visibility':'hidden'}); break; case "stop": music[music_count].pause(); /////вот тут music[music_count].currentTime=0; //music[music_count].load(); $("div.player div.controls span#play").css({'visibility':'visible'}); $("div.player div.controls span#pause").css({'visibility':'hidden'}); break; case "vol_up": music[music_count].volume+=0.1; break; case "vol_down": music[music_count].volume-=0.1; break; case "back": if(music[music_count].playbackRate>1) music[music_count].playbackRate=1; else music[music_count].playbackRate-=0.1; break; case "forward": if(music[music_count].playbackRate<1) music[music_count].playbackRate=1; else music[music_count].playbackRate+=0.1; break; } $('input[type="range"]').change(function(){ music[music_count].volume=$('input[type="range"]').val()/10; }); }); music[music_count].addEventListener('ended',function(){ music[music_count].pause(); music[music_count].currentTime=0; music_count++; if(music_count>music.length-1) music_count=0; //alert(music_count); music[music_count].play(); $('#sound_num').html(music_count+1); }); function current_pl(){ $('#place').html(duration_min_sec(music[music_count].currentTime)); } setInterval(current_pl,100); }); |
duration - возвращает продолжительность ролика в виде числа с плавающей точкой в секундах. Если продолжительность ролика почему-то не удаётся получить, возвращается значение NaN. Для потоковых медиаресурсов возвращается значение Infinity. Доступно только для чтения.
а вообще почитай там http://www.thevista.ru/page13925-mul...eo&ratin gs=1 еще у тебя ошибка :) строка music[music_count].addEventListener('ended',function(){ равносильна music[0].addEventListener('ended',function(){ ...и еще зря ты новую тему создал :) |
Думаешь- и в той бы было норм?) я просто не знаю порядков на этом форуме) но учту.
На тему duration- у меня вся музыка воспроизводится одинаково. Но с одной- прокатывает, с другой нет( Вот, сам глянь http://178.165.23.246/ |
Цитата:
loadedmetadata - возникает после того, как веб-браузер получит значения продолжительности ролика и ширины и высоты его изображения. Возникает после события durationchange. ... durationchange - возникает после того, как веб-браузер получит значение продолжительности загружаемого ролика. Возникает после события loadstart и перед событием loadedmetadata. ... loadstart - возникает в самом начале процесса загрузки ролика. Это событие возникает самым первым. тут хоть и о "роликах", но у аудио абсолютно тоже самое |
Я только что проверил currentTIme. При смене позиции музыки не меняется значение, если добавляю музыку- тоже все гуд. А есть песня- где не показывает время(
|
music[0].src="...."
music[0].preload = 'metadata'; //auto music[0].load(); music[1].src="...." music[1].preload = 'metadata'; //auto music[1].load(); |
Спасибо! буду тестить
|
не прокатило(
Но это единственное видео! Кой чего проверил- косяки с файлами ogg. ПОчему- не знаю! Но в mp3 гуд (кроме 1-й песни) |
music[music_count].currentTime=0;
ставь сразу перед music[music_count].play(); |
не сработало
|
Часовой пояс GMT +3, время: 02:01. |