Не работает 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, время: 08:39. |