Не работает 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(); |
не сработало
|
И еще прикол- на currentTime матюкается опера.
|
Кто знает- в чем проблема?
|
проблема в том что делаешь что то не так, а вот что именно, никто не скажет
показывай код со всеми правками и описывай что не так |
|
Zzepish, возьми какуе то кроссбраузерную либу для хтмл 5 аудио, что типо этого http://kolber.github.io/audiojs/ или этого http://www.jplayer.org/ и не мучайся )
|
У меня было 2 мечты, ради которых я начал изучать программирование! Это я хотел запилить мини-чат и аудио-плеер. И меня достало искать готовы решения (кривые и не понятные). По этому я начал изучать программирование и вышел на более-менее уровень. Так что только сам!
|
Zzepish, ну так ты все равно используешь чужую реализацию, которую написали разработчики браузеров, так что пиши сразу на C++)
А если серьезно то что ты делаешь , в данный момент не подерживается большим кол-во пользователе, который юзают ие 8-9 (если не ошибаюсь) , так что если хочешь что то нормальное пиши кроссбраузерную реализацию, к примеру javascript + flash (т.е если не поддерживаеться хтмл 5 браузером то юзать флеш) |
мне плевать на ie, 10 поддерживает ибо web kit! На все более ранние- фиолетово.
Мне и оперы хватает) |
Zzepish, если делаешь для себя то да, если делаешь за деньги...
|
ВСЕМ пора понять, что IE- убог! И дать понять заказчику. Есть куча бесплатных более-менее адекватных браузеров! А на мелкософтвскую продукцию лучше забить
|
Zzepish, да вот только пока за ие около 30%+ рынка то его заказчикам он будет важен)
|
Zzepish, посмотри таблицу поддержки свойств внизу,
https://developer.mozilla.org/en-US/.../Element/audio и можно посмотреть что некоторый функционал не поддерживает даже хром, и увидеть что с кроссбраузерностью проблемы не только ие.. |
аааааааааа. Атрибут buffered в хроме не пашет, а я думаю- что за фигня)
|
Zzepish, вот поэтому и начинают с прочтения документации)
|
Не) только опыт, только хардкАр
|
Zzepish, это не опыт , а метод научного тыка, со временем пройдет)
|
со времени php еще не прошел)
|
Часовой пояс GMT +3, время: 05:21. |