Get Adobe Flash player
Главная » Flash Обучение » Flash Уроки Текстом » MP3-плеер c XML-плейлистом

Мы в твиттере

Как создать?

Подпишитесь сейчас и вы получите на email серию бесплатных видеоуроков по flash.

Ваш e-mail:

Ваше имя на русском:

Подписавшись, Вы получите 4 видео урока, которые научат вас создавать flash презентации, flash баннеры, flash кнопки буквально за несколько минут!

Курс по flash cs5

 

Adobe Flash CS4 и Actionscript 3.0. Полный курс видео уроков.

Внимание!

Вы можете изучить все секреты flash анимации всего за 3 недели! Перейти из разряда новичка в разряд опытного пользователя даже без посещения дорогих курсов и чтения толстенных талмудов.

110 видео уроков,

в превосходном качестве помогут пройти, Вам, терни flash анимации самым быстрым и легким путём!

+ActionScript 3.0

Подробнее!..

www.megastock.ru
Уведомление об ответственности


MP3-плеер c XML-плейлистом

Aloran   24 апреля 2009    Раздел сайта: Flash Обучение » Flash Уроки Текстом

Добрый день.

Сегодня я расскажу, как сделать простенький MP3-плеер.

У нас должно получится нечто эдакое http://eso.nm.ru/Player.html

alt

Ну приступим...

Создаем новый файл АС3. И начинаем создавать графические элементы нашего плеера (я не буду тут указывать как это все делается вы должны это уже уметь, если не умеете, то это урок пока не для вас). Каждый  пункт это отдельный слой:

1) фоновое изображение ( у меня черный прямоугольник)

2) 3 динамических текстовых поля:

      а) set_txt - для отображения % загрузки

      б) time_txt - для отображения времени проигрывания трека

      в) name_txt - для отображения названия трека

3) кнопки (как делать кнопки я уже писал тут:

      а) Prev_btn - предыдущий трек

      б) Play_btn - играть трек

      в) Pause_ btn - пауза ( эта кнопка должна находится над или под предыдущей кнопкой)

      г) Stop_btn - Стоп

      д) Next_btn - следующий трек

4) регулеровка звука

      а) создаем 7 полосок размерами от 2х2 до 2х14 с растоянием между друг другом в 1 пиксель. должна получится "лесенка". Выделяем всю лесенку и делаем из нее Мувиклип volume_mc. Заходим в нутрь мувиклипа. Создаем новый слой идентичный нашей "лесенке" (проще скопировать кадр). Верхняя лесенка должна находится над  ничжней в тех же координатах. У меня нижняя серого цвета, а верхняя белого. Делаем новый слой. На нем рисуем прямоугольник 20х14. Он должен закрыть полностью наши лесенки. Превращаем его в Мувиклип volumefill_mc. Делаем этот слой маской (правая клавиша по названию слоя --> Mask). Делаем новый слой. Нам нужен снова прямоугольник 20х14, но он должен быть прозрачным (это будет зона срабатывания мыши). Выходим на основную сцену.

      б) делаем 2 кнопки offVolume_btn и onVolume_btn распологаем одну над другой.

5) рисуем полосу прогресса (у меня она длиной 200 это важно для кода). Превращаем ее в мувиклип progress_mc. Заходим в него. Выбираем полоску и превращаем ее в мувиклип status_mc (внутрь заходить не надо). Делаем новый слой. рисуем такуюже полоску и превращаем ее в мувиклип progressfill_mc. Делаем 3-й слой. и снова такую же полоску. Слой делаем маской. Возвращаемся на основную сцену.

* Все элементы делайте по своему вкусу. Главное помните что все имена элементов надо прописать в инстанс нейм иначе код не будет работать.

6) Делаем слой для скрипта и в первый кадр вводим:

var playlist:XML = new XML();                     //создаем объект для работы с нашим плэйлистом XML ...
var loader:URLLoader = new URLLoader();         //этим будем загружать наш XML
 
var setPosition:int = 0;                         //здесь будем хранить позицию воспроизведения при нажатии паузы и т.п.
var soundObj:Sound = new Sound();                 //наш основной объект для работы
var soundCha:SoundChannel = new SoundChannel(); //позволит управлять каналом воспроизведения
var soundTrans:SoundTransform = new SoundTransform(); //для звука и получания данных для аналийзера
var reqUrl:URLRequest = new URLRequest();         //для загрузки mp3 в объект Sound
this.progress_mc.status_mc.width = 0;             //устанавливаем показатель уровня загрузки в 0
this.progress_mc.progressfill_mc.x = -200;         //и показатель воспроизведения в позицию -200 что будет видется тоже как 0
var loaded:Number = 0;                             //для правильного просчитывания отображения места воспроизведения
var soundBytes:ByteArray = new ByteArray();     //для хранения данных о звуке
var arrayUrl:Array = new Array();                  //массив для адресов mp3
var array:Array = new Array();                  //для хранения преобразованных данных о звуке
var volumeP:Number = 1;                         //для хранения уровня громкости звука
var volumeS:Number = 1;                         //тоже
var track:int = 0;                                 //номер текущего трэка для воспроизведения
var offmark:Boolean = false;                     //для кнопки MUTE
 
 
//события и слушатели. основа
function initPlayMp3():void {
    Play_btn.addEventListener(MouseEvent.CLICK, startPlay);             //присвоим реакцию на клик мышки нашим элементам интерфейса
    Pause_btn.addEventListener(MouseEvent.CLICK, stopPlay);
    volume_mc.addEventListener(MouseEvent.CLICK, volumePlay);
    progress_mc.addEventListener(MouseEvent.CLICK, progressPlay);
    offVolume_btn.addEventListener(MouseEvent.CLICK, offvolumePlay);
    onVolume_btn.addEventListener(MouseEvent.CLICK, onvolumePlay);
    Next_btn.addEventListener(MouseEvent.CLICK, nextTrack);
    Prev_btn.addEventListener(MouseEvent.CLICK, prevTrack);
    Stop_btn.addEventListener(MouseEvent.CLICK, fullStop);
 
    loader.addEventListener(Event.COMPLETE, whenLoaded);         //событие вызовется когда XML фал будет загружен
    loader.load(new URLRequest("playlist.xml"));                 //а это адрес того что будем загружать
 
    volume_mc.buttonMode = true;                                //определим свойсто для нужных нам клипов что бы при наведении на них курсор менялся на руку
    progress_mc.buttonMode = true;
 
    offVolume_btn.visible = false;                                //скроем кнопки которые не нужны
    Pause_btn.visible = false;
}
 
//загрузка xml
function whenLoaded(event:Event):void {            //если загрузка XML прошла успешно то в наш массив с адресами запишем все ее содержимое
    playlist = XML(event.target.data);
    for(var i:int = 0; i< playlist.url.length(); i++) {
         arrayUrl[i] = playlist.url[i].text();
    }
    name_txt.text = "0" + "/" +arrayUrl.length + " Исполнитель - Название Песни";    //и обновим тектовое поле добавив туда информацию о колличестве трэков
}
 
//Прогресс загрузки
function LoadProgress(event:ProgressEvent):void{
    var loadedsound:Number;
    loadedsound = Math.round(100 * (event.bytesLoaded / event.bytesTotal));     // просчитываем уровень загрузки
    set_txt.text = "Загруженo: " + loadedsound + "%";                             // обновляем значение в тектовом поле
    progress_mc.status_mc.width = loadedsound*2;                                 // и  увеличиваем полоску загрузки в прогресс баре
}
 
//Следующий трек
function nextTrack(event:MouseEvent):void{             //Запускается когда нажата кнопка СЛЕДУЮЩИЙ ТРЕК
    Play_btn.visible = false;                         // определяем какие кнопки управления должны быть видимыми а какие нет
    Pause_btn.visible = true;
    if((track+1)<arrayUrl.length){                     // определяем на какой трек нам переключаться
         track++;
    } else {
         track = 0;
    }
    try {                                             // пытаемся выполнить стоп и закрытие канала, если канал уже закрыт (загрузка закончилась) то оное вызовет ошибку и выполнение перейдет к catch
         soundCha.stop();
         soundObj.close();
    } catch(e:Error){
         soundCha.stop();                             // просто остановим
    }
    PlaySound();                                    // и запустим воспроизведение нового трека
}
 
//Предыдущий трек
function prevTrack(event:MouseEvent):void{             //Запускается когда нажата кнопка Предыдущий ТРЕК
    Play_btn.visible = false;                         // определяем какие кнопки управления должны быть видимыми а какие нет
    Pause_btn.visible = true;
    if((track-1)>=0){                     // определяем на какой трек нам переключаться
         track--;
    } else {
         track = arrayUrl.length-1;
    }
    try {                                             // пытаемся выполнить стоп и закрытие канала, если канал уже закрыт (загрузка закончилась) то оное вызовет ошибку и выполнение перейдет к catch
         soundCha.stop();
         soundObj.close();
    } catch(e:Error){
         soundCha.stop();                             // просто остановим
    }
    PlaySound();                                    // и запустим воспроизведение нового трека
}
 
function fullTrack(event:Event):void{ // определяет новый трэк и переходит к нему
    Play_btn.visible = false;                         // определяем какие кнопки управления должны быть видимыми а какие нет
    Pause_btn.visible = true;
    if((track+1)<arrayUrl.length){
        track++;
    } else {
        track = 0;
    }
    soundCha.stop();
    PlaySound();
}
 
// полный стоп
function fullStop(event:MouseEvent):void{// останавливает воспроизведение и если звук открыт закрывает загрузку
    setPosition = 0;//позицию воспроизведения в ноль
    try {
        soundCha.stop();
        soundCha = soundObj.play(0);
        soundCha.stop();
        soundObj.close();
    } catch(e:Error){
        soundCha.stop();
        soundCha = soundObj.play(0);
        soundCha.stop();
    }
    Play_btn.visible = true;           
    Pause_btn.visible = false;
}
 
//чтение тэгов
function id3Handler(event:Event):void {
    name_txt.text=(track+1)+"/"+arrayUrl.length+"  "+soundObj.id3.artist + " - " + soundObj.id3.songName;
}
 
//кнопка ПУСК
function startPlay(event:MouseEvent):void{
    Play_btn.visible = false;           
    Pause_btn.visible = true;
    PlaySound(); // запускаем основную функцию воспроизведения звука
}
 
//Кнопка ПАУЗА
function stopPlay(event:MouseEvent):void{
    setPosition = soundCha.position; // запоминаем позицию воспроизведения
    volumeS = soundTrans.volume; // и уровень звука
    Play_btn.visible = true;
    Pause_btn.visible = false;
    soundCha.stop(); // останавливаем воспроизведение
}
 
//определение нового места проигрывания
function progressPlay(event:MouseEvent):void{// вызывается когда кликнули на полосе отображающей загрузку и воспроизведение
    volumeS = soundTrans.volume;
    soundCha.stop();
    soundCha = soundObj.play((soundObj.length*loaded) * event.currentTarget.mouseX/200); // определяем координату куда ткнули // и взависимости от этого помещаем точку воспроизведения в нужное нам место
    soundTrans.volume = volumeS;
    soundCha.soundTransform = soundTrans;
    soundCha.addEventListener(Event.SOUND_COMPLETE, fullTrack); // востанавливаем событие реагирующее на конец трэка
    Play_btn.visible = false;           
    Pause_btn.visible = true;
}
 
//установка уровня звука
function volumePlay(event:MouseEvent):void{
    offmark = false;
    volume_mc.volumefill_mc.width = event.currentTarget.mouseX; // определяем куда ткнули и изменяем размер маски
    soundTrans.volume = (event.currentTarget.mouseX*5)/100; // устанавливаем громкость звука
    volumeP = volumeS = soundTrans.volume;
    soundCha.soundTransform = soundTrans;
    offVolume_btn.visible = false;
    onVolume_btn.visible = true;
}
 
//включение звука
function offvolumePlay(event:MouseEvent):void{
    offmark = false;
    offVolume_btn.visible = false;
    onVolume_btn.visible = true;
    volume_mc.volumefill_mc.width = (volumeP*100)/5;
    soundTrans.volume = volumeP;
    soundCha.soundTransform = soundTrans;
}
 
//Выключение звука
function onvolumePlay(event:MouseEvent):void{
    offmark = true;
    volumeP = soundTrans.volume;
    offVolume_btn.visible = true;
    onVolume_btn.visible = false;
    volume_mc.volumefill_mc.width = 0;
    soundTrans.volume = 0;
    soundCha.soundTransform = soundTrans;
}
 
//основная ПУСК функция
function PlaySound():void{ // основная функция которая воспроизводит звук
    reqUrl.url = arrayUrl[track]; // получаем адрес трека
    var nextTitle:Sound = new Sound(reqUrl);// т.к. в один объект два звука не загрузить то мы создаем промежуточный объект загружаем в него а потом просто приравниваем основной к нему загружаем его
    soundObj = nextTitle;
 
    name_txt.text = (track+1)+"/"+arrayUrl.length+" Не удалось прочитать ID3 тэги"; // делаем стандартную строку (она станется если функция чтения тэгов ее не обновит)
    soundObj.addEventListener(ProgressEvent.PROGRESS, LoadProgress); // создаем слушатель прогреса загрузки
    soundObj.addEventListener(Event.ID3, id3Handler); // и получения тэгов
    addEventListener(Event.ENTER_FRAME, Progress); // и ENTER_FRAME для програсса воспроизведения
 
    soundCha = soundObj.play(setPosition); // запускаем звук в нужном нам канале с определенной позиции
 
    soundTrans.volume = volumeS; // устанавливаем кромкость
    soundCha.soundTransform = soundTrans; // и присваиваем ее каналу нужному
    soundCha.addEventListener(Event.SOUND_COMPLETE, fullTrack); // запустит функцию меняющую трэк при достижении конца трэка текущего
 
    if(offmark){// обработка уровня громкости если включено MUTE
        soundTrans.volume = 0;
        soundCha.soundTransform = soundTrans;
    } else {
     soundTrans.volume = volumeS;
     soundCha.soundTransform = soundTrans;
    }
}
 
//отображение прогреса воспроизведения
function Progress(event:Event):void {
    loaded = soundObj.bytesTotal/soundObj.bytesLoaded;// просчитываем какую часть мы загрузили это нужно для поправики в отображения прогресса
    progress_mc.progressfill_mc.x = Math.round(200*(soundCha.position/(soundObj.length*loaded)))-200;// двигаем полосу прокресса
    var allsec:int = Math.floor(soundCha.position/1000);// и считаем секунды воспроизведения
    var min:int = Math.floor(allsec/60);//
    var sec:int = allsec-(Math.floor(allsec/60)*60);//
    if(sec<10){
         time_txt.text = String(min)+".0"+String(sec);//формируем текстовую строку с итогами посдчетов
    } else {
         time_txt.text = String(min)+"."+String(sec);//формируем текстовую строку с итогами посдчетов
    }
}
 
initPlayMp3();

7) создаем XML-файл playlist.xml у меня только 2 композиции, но вы можете сделать и больше.

<?xml version="1.0" encoding="utf-8"?>
<playlist>
        <url>0.mp3</url>
        <url>1.mp3</url>
</playlist>

На этом все. Спасибо за внимание. Удачи
По материалам: http://demiart.ru/forum/index.php?showtopic=82565

Просмотров: 43659 | Комментарии (74) | flash уроки, mp3 player, actionscript 3.0
#1   SarGun      28 апреля 2009 13:58   ICQ: 420260217   



Регистрация: 10.12.2008
Публикаций: 12
Комментариев: 60
Полезный урок, а главное, ПОНЯТНЫЙ!так держать ! goodgood


--------------------
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/index.html
#2   Aloran      28 апреля 2009 22:04   ICQ: --   



Регистрация: --
Публикаций: 0
Комментариев: 0
Суда по соотношению просмотрено/откоментированно Это интересно только Сергею lol Который и так это знает, как делать плеер, лучше меня!!!!
#3   vitkuz      28 апреля 2009 22:15   ICQ: --   



Регистрация: 17.07.2008
Публикаций: 95
Комментариев: 162
Aloran, не делай поспешных выводов. Поживем увидим. Урок очень достойный. Но новичков может отпугнуть кажущейся громоздкостью. В следующей рассылке \ анонсе я обращу внимание на этот урок.

Тогда и посмотрим на соотношение просмотрено/откомментированно...

#4   Allidjan      28 апреля 2009 23:20   ICQ: --   



Регистрация: --
Публикаций: 0
Комментариев: 0
Урок нужный а самое главное полезный respekt
#5   _dim_696969      8 мая 2009 12:05   ICQ: --   



Регистрация: --
Публикаций: 0
Комментариев: 0
ух как...спасибо! попробуим))
#6   dakuna      8 мая 2009 13:54   ICQ: --   



Регистрация: --
Публикаций: 0
Комментариев: 0
да конечно я буду очень признателен если вы сделаете видеоурок по изготовлению флэшплеера
#7   komatoz      8 мая 2009 15:03   ICQ: 473074478   



Регистрация: 31.10.2008
Публикаций: 0
Комментариев: 10
Будет очень хорошо с видео уроком и конечно с вашим комментарием!!!
#8   nadya.fd      8 мая 2009 18:47   ICQ: --   



Регистрация: 8.03.2009
Публикаций: 0
Комментариев: 25
Ах какая класссная идея - урок, как плеер сделать... Вот бы пояснения еще к Аction Script... sorry
#9   omaggot      8 мая 2009 19:34   ICQ: --   



Регистрация: --
Публикаций: 0
Комментариев: 0
все довольно доходчиво, видеоурок конечно же неплохо было бы но мне кажется что если есть идеи и темы для видеоуроков, лучше продолжить их, текстового описания вполне достаточно
#10   nadya.fd      8 мая 2009 20:23   ICQ: --   



Регистрация: 8.03.2009
Публикаций: 0
Комментариев: 25
А тут можно задавать вопросы (тем кому все понятно :) ) ?

1." Делаем новый слой. Нам нужен снова прямоугольник 20х14, но он должен быть прозрачным (это будет зона срабатывания мыши). " - Это символ графика ? Иначе не понимаю как его сделать прозрачным 6(

2. У меня чего-то регулировка звука кривая получилась. Нажимаю в центре лесенки, центр становится беленьким (полоски до и после остались серыми), нажимаю чуть левее - еще пару полосок становиться белыми слева и справа от центральной, края по прежнему серые :(

3. Я немного не поняла пункт "рисуем полосу прогресса", там status_mc и progressfill_mc - это две одинаковые белые полосы? Если да, то где тогда рисуем длинную полосу, серую внутри и белую по краям ?

Спасибо.
#11   nadya.fd      9 мая 2009 09:00   ICQ: --   



Регистрация: 8.03.2009
Публикаций: 0
Комментариев: 25
Omaggot, ну ты где?
#12   nadya.fd      10 мая 2009 04:22   ICQ: --   



Регистрация: 8.03.2009
Публикаций: 0
Комментариев: 25
Неужели у меня таки трудные вопросы оказались ??? или здесь нельзя задавать вопросы??? А может я просто плохо объяснила ...

Напишите хоть чего-нибудь... cray
#13   Aloran      10 мая 2009 11:21   ICQ: --   



Регистрация: --
Публикаций: 0
Комментариев: 0
Ответы: lol

1) Это простой прямоугольник. В меню цвета просто ставим заливку любого цвета и двигаем ползунок прозрачности в положение 0%

2) Надя пришлите фла файл на eso@nm.ru я посмотрю и скажу в чем дело. Скорее всего вы маску не тем слоем сделали.

3) Нет одна из них у меня серая, другая белая. (мой недочет)))

Надюшь ну кто 9 мая флешит!!!!)))))))))))


Да и вот еще: Что тебе непонятно в скриптах? Я объясню.
А так у кого есть вопросы что означает то или иное действие в АС: Справочник
#14   ЯSolnce      14 мая 2009 10:28   ICQ: --   



Регистрация: --
Публикаций: 0
Комментариев: 0
Да!!! Сделайте видеоурок, пожалуйста!! help
#15   omaggot      15 мая 2009 01:20   ICQ: --   



Регистрация: --
Публикаций: 0
Комментариев: 0
nadya.fd я здесь, просто не заглядывал на страницу, курсовои делал (во flash'е:) ) blush
я так понял что Aloran ответил на Ваши вопросы,
если вдруг понадоблюсь (мммм...) пишите omaggot@mail.ru
Удачи
#16   nadya.fd      19 мая 2009 22:52   ICQ: --   



Регистрация: 8.03.2009
Публикаций: 0
Комментариев: 25
Ой! Пару дней отсутствовала, а тут уже столько ответов! Как замечательно! Спасибо всем кто откликнулся.

про 9 мая ... да, вы правы, Но уж больно урок интересный оказался, я и не удержалась :)

Аloran, Спасибо за ответы, с маской поиграла(чтобы она покрывала несколько слоев), не помогло:(. Вот обнаружила, что точку регистрации для маски надо было слева по центру, это улучшило картину, но не идеально. Так что я вам все же отправлю файлик, посмотрите пожалуйста.

И еще возник вопрос:

volume_mc.volumefill_mc.width = (volumeP*100)/5; - Почему "5" ???
Там есть еще строчка, где тоже пятерка, думаю они обе по одной и той же причине, но пока не поняла по какой.

Omaggot, удачи на защите.
#17   Aloran      20 мая 2009 01:09   ICQ: --   



Регистрация: --
Публикаций: 0
Комментариев: 0
Надюшь смотри:
Что такое VolumeP? Это переменная в которой мы храним уровень громкости!
Что такое volume_mc.volumefill_mc.width? Это ширина маски.
Допустим мы щелкнули на включении звука и уровень громкости был 100% (громкость изменяется от 0,0 до 1,0)
получается ширина маски будет ровняться 1*100/5 = 20 пикселям , т.е. наша шкала громкости (лесенка) отобразиться полностью (помнишь я говорил, что ее надо делать шириной в 20 пикселей). Допустим звук установлен в 50% ширина будет 0,5*100/5=10 пикселям и у нас окрасятся белым только половина лесенки.

Надеюсь понятно объяснил.

П.С.: И не надо обращаться ко мне на вы. Я ни так уж и стар))) мне всего скоро 27))))
#18   nadya.fd      21 мая 2009 06:36   ICQ: --   



Регистрация: 8.03.2009
Публикаций: 0
Комментариев: 25
Спасибо! Помогло, все подправила (согласно своим размерам :) ). Теперь красиво работает.

П.С. Уговорил, не буду больше на ВЫ. Тем более мы ровестники выходит.
#19   zeliboba      7 июня 2009 01:39   ICQ: --   



Регистрация: --
Публикаций: 0
Комментариев: 0
Спасибо за урок , только не понял куда ставить адрес плейлиста (вместо какого слова-new URLLoader или просто new, а если то new, то в обех строках или в одной?)
#20   rate95      9 июня 2009 10:56   ICQ: --   



Регистрация: --
Публикаций: 0
Комментариев: 0
а как делать мувиклип?

а, всё понял, спасибо=)))) yahoo

извините а для полосок громкости надо отдельный слой или нет?

и ещё: как это всё сохранять и открывать? smiles
#21   Fly      9 июня 2009 13:11   ICQ: --   



Регистрация: 21.07.2008
Публикаций: 65
Комментариев: 582
Цитата: rate95
а как делать мувиклип?

а, всё понял, спасибо=)))) yahoo

извините а для полосок громкости надо отдельный слой или нет?

и ещё: как это всё сохранять и открывать? smiles

Я бы Вам для начала советовал ознакомиться с курсом: http://disk.easyflash.org/magazin/easyflash


--------------------
1) Админ всегда прав
2) Если админ не прав, смотри пункт 1

Мы в контакте - http://vkontakte.ru/club9573247
Не отвечаю на вопросы в личку касаемо Flash, у нас для этого есть форум
#22   Aloran      24 июня 2009 10:51   ICQ: --   



Регистрация: --
Публикаций: 0
Комментариев: 0
Цитата: zeliboba
Спасибо за урок , только не понял куда ставить адрес плейлиста (вместо какого слова-new URLLoader или просто new, а если то new, то в обех строках или в одной?)


Вот строчка добавления плей листа
loader.load(new URLRequest("playlist.xml"));

Цитата: rate95
а как делать мувиклип?

F8
Цитата: rate95
извините а для полосок громкости надо отдельный слой или нет?

Читайте внимательнее там все написано.

И вообще не стоит браться за такую программу если даже основ не знаете.
#23   Velter      24 июня 2009 11:12   ICQ: --   



Регистрация: --
Публикаций: 0
Комментариев: 0
Извините, я не до конца все понял! Сделал все как тут написано, но выдает 27 ошибок в скрипте!
Если у вас есть готовый, рабочий исходник, вышлите мне на krab@te.net.ua Буду очень презнателен
#24   bobik9000      26 июня 2009 01:51   ICQ: --   



Регистрация: --
Публикаций: 0
Комментариев: 0
как исправить глюк?
когда нажимаешь паузу потом следующую песню она начинается не сначала
#25   rb      27 июня 2009 02:11   ICQ: --   



Регистрация: 26.06.2009
Публикаций: 1
Комментариев: 38
Velter,
У меня такой же глюк был но я adobe flash установил и все.

Velter,
Macromedia flash - это фигня
#26   Lemonadnый_Jo      12 августа 2009 22:47   ICQ: --   



Регистрация: 3.03.2009
Публикаций: 0
Комментариев: 8

Афигенски ! прям то, что я искал )

 

P.S.

Тока  вот в конце  надо из урока затереть bb теги )):

[code=xml]<?xml version="1.0" encoding="utf-8"?>
<playlist>
  <url>0.mp3</url>
  <url>1.mp3</url>
</playlist>[/code]


А то я долго искал причину ошибок ).

#27   Aloran      16 августа 2009 22:43   ICQ: --   



Регистрация: --
Публикаций: 0
Комментариев: 0
они фиг знает как влезли))) Ничего полезно иногда)))) А то привыкли все подрят копировать, а так хоть голову поломаете)))
#28   Fly      17 августа 2009 13:22   ICQ: --   



Регистрация: 21.07.2008
Публикаций: 65
Комментариев: 582
Они влезли потому что не было парсера исходного кода.


--------------------
1) Админ всегда прав
2) Если админ не прав, смотри пункт 1

Мы в контакте - http://vkontakte.ru/club9573247
Не отвечаю на вопросы в личку касаемо Flash, у нас для этого есть форум
#29   in5ane2      21 августа 2009 15:31   ICQ: --   



Регистрация: --
Публикаций: 0
Комментариев: 0
добрый день спасибо за урок клевски все работает, не могли бы вы подсказать как сделать чтобы через html передавалась информация о том какой трек необходимо загружать что то типа

object
param name=mp3file value=./mp3/1.mp3
object

и что необходимо сделать во флеше спасибо
#30   kabelsea      13 сентября 2009 23:48   ICQ: --   



Регистрация: --
Публикаций: 0
Комментариев: 0
Блин, спасибо )))

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.