Просмотр полной версии : таймер музыки
Есть вот такой код, что в нём не правильно?
this.createTextField("timer_txt", this.getNextHighestDepth(), 270, 130, 150, 80);
track_txt.selectable = false;
var my_interval:Number;
var my_sound:Sound = new Sound();
function updateTimeBar(my_sound):Void {
var pos:Number = Math.round(my_sound.duration-my_sound.position)/1000;
var minutes:Number = Math.floor(pos/60);
var seconds = Math.floor(pos)%60;
if (seconds<10) {
seconds = "0"+seconds;
}
timer_txt.text = minutes+":"+seconds;
timer_txt.setTextFormat(myformat2);
}
my_interval = setInterval(updateTimeBar, 100, my_sound);
my_sound.loadSound("track01.mp3", true);
motor4ik
25.11.2005, 16:37
хм, а сам что проверить не можешь? или тут викторина или чего? задачки решаем? бери да тестируй, trace() на что тебе...
antonyrec
25.11.2005, 16:53
Код рабочий. Показывает обратный отсчет правильно. Проверил.
2villa: а что, у тебя не работает? или в чем-то другом проблема?
Код рабочий. Показывает обратный отсчет правильно. Проверил.
2villa: а что, у тебя не работает? или в чем-то другом проблема?
проблема в том, что трэк подгружается методом true, т.е. и играет и догружается
одновременно. И в режиме симуляции загрузки с этим таймером начинается беда.
antonyrec
25.11.2005, 17:34
В хелпе посмотри sound.duration. Там есть пример, который возможно тебе пригодится. Там правда не совсем таймер. Но вдруг...
antonyrec
25.11.2005, 18:13
Дело видимо в том, что плеер не знает длительность звука пока он не загружен полностью.
Смотрим хелп id3 (Sound.id3 property) там есть TIME ...
Дело видимо в том, что плеер не знает длительность звука пока он не загружен полностью.
Вот,вот.
А почему my_sound.id3.TIME пишет undefined не знаешь?
Вся фишка в том что при созданиии mp3 не всегда указывается группа и т.п. попробуй протрейсить свой файл на наличие таких данных и если там есть TIME то он будет работать ...
var my_sound:Sound = new Sound();
my_sound.onID3 = function() {
for (var prop in this.id3) {
trace(prop);
}
my_sound.loadSound("song.mp3", true);
};
antonyrec
25.11.2005, 19:22
Да, про id3 как-то забыл. Но штуку с длительностью помню. Тоже в прошлый раз не получилось взять длину из id3.
Я вот щас трейсу свои муз файлы и пока не в одном не нашёл TIME ...
если наёдёшь просто замени в коде и протрейси
trace(this.id3.TIME);
/*for (var prop in this.id3) {
trace(prop);
}*/
antonyrec
25.11.2005, 19:29
Нимогу найти не TIME не TLEN ни в одном из своих mp3. Протестил файлов 15
таже фигня, а в половине вообще ничего нет )))
antonyrec
25.11.2005, 19:38
Как же быть?... Не забивать же вручную длительность mp3'шек. Хотя, если она одна...
а как его начинаеи глючить?
опиши, просто я тут на днях такое делал, тоже бока были с duration
antonyrec
25.11.2005, 19:40
Можно конечно длительности хранить в xml... Но обидно реально, что не пашет :(
antonyrec
25.11.2005, 19:43
а как его начинаеи глючить?
опиши, просто я тут на днях такое делал, тоже бока были с duration
Из-за того, что плеер не может узнать длину звука до его полной загрузки таймер работает не корректно (опять же до полной загрузки. Дальше все намана)
Надо намутить редактор mp3 иручками помравлять там всё ...
ну а дождаться полной загрузки а потом играть слабо ?
Тут проигрывание начинается до полной загрузки
antonyrec
25.11.2005, 19:49
Вопрос "в принципе" интересует. После загрузки каждй д. может :)
Щас поищу какой нибудь редактор тегов mp3 может чего удасться поправить ...
antonyrec
25.11.2005, 19:52
В mp3 вручную длительность не указывается. Это просто параметр для чтения
TERRORist
25.11.2005, 19:52
Так надо вроде по событию загрузки начинать скрипт. Помойму Sound.onLoad()
antonyrec
25.11.2005, 19:54
А вот на счет поправить... можно поискать. Может как-нибудь особенно macromedia mp3'шки делала :)
у меня тоже был бок - не правильно определялась эта самая дюратион, вся загвоздка оказалась в sound.loadSound(url, true) а было falsh
antonyrec
25.11.2005, 19:55
Так надо вроде по событию загрузки начинать скрипт. Помойму Sound.onLoad()
Ты выше читал?
Ты выше читал?
А зачем он и так всё понял )))
в завершение это темы могу сказать только одно -
нефиг мудохпться с обратным таймером!
Польтзуйте прямой:
var my_interval:Number;
var my_sound:Sound = new Sound();
function updateTimeBar(my_sound):Void {
var pos:Number = Math.round(my_sound.position)/1000;
var minutes:Number = Math.floor(pos/60);
var seconds = Math.floor(pos)%60;
if (seconds<10) {
seconds = "0"+seconds;
}
timer_txt.text = minutes+":"+seconds;
timer_txt.setTextFormat(myformat2);
}
my_interval = setInterval(updateTimeBar, 100, my_sound);
Вот и всё!
Я как-то делал mp3 плеер на флеше, конечно бесполезно, но может кое-
чем помочь :) Если нужны коды, выкину исходник с предварительно
убранной графикой (качество jpeg поставил на 10... Пришлось)
У mp3 есть ID3 теги двух версий 1 и 2.
Флеш-плеер 7 поддерживает версии 1.0, 1.1, 2.3, 2.4
Версия 1 храниться в конце файла и пока файл не считан они не доступны.
Версия 2 храниться в начале (от этого когда проигрывается файл и обновляется теги данной версии, проигрывание сбивается).
ID3.TLEN это тег версии 2. Нужен софт записывающий данный тег (winamp его не пишет)
У mp3 есть ID3 теги двух версий 1 и 2.
Флеш-плеер 7 поддерживает версии 1.0, 1.1, 2.3, 2.4
Версия 1 храниться в конце файла и пока файл не считан они не доступны.
Версия 2 храниться в начале (от этого когда проигрывается файл и обновляется теги данной версии, проигрывание сбивается).
ID3.TLEN это тег версии 2. Нужен софт записывающий данный тег (winamp его не пишет)
С этим я согласен, но на сколько я понял id3.TIME есть только в первой
версии и как ты говоришь, он находится в конце. Во воторой версии его нет вообще (ну или Flash с ним не работает). Плоучается, что во Flash
оьратный таймер для my_sound.loadSound("track01.mp3", ture); не возможно.
Неужели никто с этим не сталкивался?
Здесь ты найдешь перечь тегов по версиям http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/ID3.html
И там видно, что тег time, относиться ко второй версии.
Сделать обратный отсчет времени, для не полностью загруженных mp3, можно либо используя теги версии 2, либо подгружая дополнительную информацию о времени
Вся фишка в том что при созданиии mp3 не всегда указывается группа и т.п. попробуй протрейсить свой файл на наличие таких данных и если там есть TIME то он будет работать ...
А, если пишет undefined, значит их там нет? Ни в какой версии тэгов (1.0, 2.0)?
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.