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

Просмотров: 46681 | Комментарии (76) | flash уроки, mp3 player, actionscript 3.0
#31   Neirol      28 ноября 2009 23:13   ICQ: 407672443   



Регистрация: 14.09.2009
Публикаций: 20
Комментариев: 151
Хахахаха, меня вообще народ прикалывает.

"Если хотите урок, я сделаю, пишите...".
"Да, да, конечно делай!"
"Сделал"
"Будет очень хорошо с видео уроком и конечно с вашим комментарием!!!"
....
"Сделал..."
"Будет вообще офигенно, если вы еще составите пару-тройку схем и шпаргалок для лучшего запоминания"...
И так будет вечно, и ни одного спасибо от людей, которые такое пишут..


--------------------
Написал программу? Проверь на ошибки. Исправил ошибки? Проверь еще раз. Нет ошибок? Ты плохой программист!

http://prograph.ru/ - видео уроки по программированию в разных средах, а также справочники, программы и новости.

http://vkapi.easyflash.org/ - Как научиться создавать свои собственные flash-приложения, использующие ВКонтакте API и взаимодействие с веб-сервером?
#32   Pamel      11 декабря 2009 21:52   ICQ: 1886625   



Регистрация: 10.12.2009
Публикаций: 1
Комментариев: 15

спасибо за урок!! но у меня пишет ошибку:

TypeError: Error #1010: Термин не определен и не имеет свойств. at player_mp3_fla::MainTimeline/frame1()


и ничего не происходит(( что делать?! 



все нормально, спасибо большущее за урок!!!
#33   Pamel      17 декабря 2009 17:31   ICQ: 1886625   



Регистрация: 10.12.2009
Публикаций: 1
Комментариев: 15

вот видео по этому уроку - /flashlearn/flashvideotutorials/730-mp3-pleer-c-xml-plejlist
omvideo.html

#34   DIMAGORSH      28 декабря 2009 12:28   ICQ: --   



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

П.С.Пытался прописать путь к файлам в XML-е  -- не помогло!
#35   dhalturin      5 января 2010 04:04   ICQ: --   



Регистрация: --
Публикаций: 0
Комментариев: 0
Спасебке больлшое ;)))
#36   Raziel      11 января 2010 10:31   ICQ: --   



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

2 DIMAGORSH

 

попробуй в коде флеша изменить путь к хмл док-у, а его оставить в нужной тебе папке вместе с мп3

#37   Mastershef      13 января 2010 17:54   ICQ: --   



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

Блин зделайте пожалуйста видео урок! Это будет очень кстати!

И у меян вопрос Если диз я привык делать в Шопе я без труда могу перекинть их в библиотеку во леш и там отдельно работать с каждым прорисованым елемнтом кнопка и тд розложить каждую  кнопочку в отдельный слой и каждый елемент, Но вот вопрос что делать далбше????

#38   Fly      14 января 2010 06:57   ICQ: --   



Регистрация: 21.07.2008
Публикаций: 65
Комментариев: 592
Такой урок давно уже есть, пользуйтесь поиском


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

Мы в контакте - http://vkontakte.ru/club9573247
Не отвечаю на вопросы в личку касаемо Flash, у нас для этого есть форум
#39   nurutdinoFF      5 февраля 2010 16:21   ICQ: --   



Регистрация: --
Публикаций: 0
Комментариев: 0
Вывод:
TypeError: Error #1010: Термин не определен и не имеет свойств.
    at gimn_player_fla::MainTimeline/frame1()

Что это значит?
#40   feya      24 февраля 2010 08:53   ICQ: --   



Регистрация: --
Публикаций: 0
Комментариев: 0
1) Выдает следующую ошибку, как решить эту проблему?

TypeError: Error #1010: A term is undefined and has no properties.
at player_fla::MainTimeline/player_fla::frame1()


2) Уже задавали здесь этот вопрос, но я так и не нашла ответа на него, поэтому повторюсь.

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

За раннее всем спасибо.

#41   Fly      24 февраля 2010 15:07   ICQ: --   



Регистрация: 21.07.2008
Публикаций: 65
Комментариев: 592
С этим вопросом на форум


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

Мы в контакте - http://vkontakte.ru/club9573247
Не отвечаю на вопросы в личку касаемо Flash, у нас для этого есть форум
#42   jackkakos      25 марта 2010 17:03   ICQ: 4518111   



Регистрация: 1.11.2009
Публикаций: 0
Комментариев: 4
здравствуйте мне очень понравился видео урок все понятно и просто,а можете объяснить как сделать так чтобы когда пользователь допустим заходил  на сайт ему не приходилось включать плеер а он уже играл...тоесть уже был как говорится включенным и проигрывал музыку заранее спасибо!!примного вам благодарен!
#43   Fly      25 марта 2010 18:01   ICQ: --   



Регистрация: 21.07.2008
Публикаций: 65
Комментариев: 592
Со всеми вопросами на форум


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

Мы в контакте - http://vkontakte.ru/club9573247
Не отвечаю на вопросы в личку касаемо Flash, у нас для этого есть форум
#44   hermanik      26 марта 2010 23:00   ICQ: --   



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

Спасибо огромное за урок! Очень интересная тема! :yes

У меня есть маленький вопросик - как сделать, что-то типа окна с выбором плейлистов и треков в дополнение к этому, и чтоб они вместе с плейером в одном файле были? Пример: http://vkontakte.ru/app545941_53050441 (мне очень понравился этот плейер и я хотел бы себе такой же на свой сайт).

#45   Fly      27 марта 2010 04:07   ICQ: --   



Регистрация: 21.07.2008
Публикаций: 65
Комментариев: 592
Со всеми вопросами на форум))))


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

Мы в контакте - http://vkontakte.ru/club9573247
Не отвечаю на вопросы в личку касаемо Flash, у нас для этого есть форум
#46   RnRing      31 марта 2010 16:03   ICQ: --   



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

Как избавиться от этих ошибок что я не так делаю хелпми.

**Error** Scene=Scene 1, layer=AC, frame=1:Line 221: The class or interface 'int' could not be loaded.
var min:int = Math.floor(allsec/60);//

**Error** Scene=Scene 1, layer=AC, frame=1:Line 222: The class or interface 'int' could not be loaded.
var sec:int = allsec-(Math.floor(allsec/60));//

Total ActionScript Errors: 27 Reported Errors: 27

#47   Fly      31 марта 2010 22:40   ICQ: --   



Регистрация: 21.07.2008
Публикаций: 65
Комментариев: 592
Мой пост выше


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

Мы в контакте - http://vkontakte.ru/club9573247
Не отвечаю на вопросы в личку касаемо Flash, у нас для этого есть форум
#48   Ляшечка      13 апреля 2010 23:23   ICQ: --   



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

Аааа

Есть видео урок??

я просто НУБ в этом!! helper

Кто сможет помочь, и есть в контакте Отпишитесь http://vkontakte.ru/id26544262

#49   xzk      6 мая 2010 19:30   ICQ: --   



Регистрация: 21.03.2010
Публикаций: 0
Комментариев: 4
nurutdinoFF,
Цитата: nurutdinoFF
Вывод: TypeError: Error #1010: Термин не определен и не имеет свойств.     at gimn_player_fla::MainTimeline/frame1() Что это значит?
 
Скорее всего ты не указал InstanceName для какого-то элемента. В моем случае, я не указал InstanceName на  MovieClip progressfill_mc.

Как заметили выше, при переходе на новый трек через Prev_btn или Next_btn песня играет не сначала.Для того чтобы это исправить в функциях prevTrack  и NextTrack дописываем setPosition =0;

И еще одна правка - для нормальной работы прогрессбара:надо добавить +100 в функцию progressPlay  в строку -
soundCha = soundObj.play((soundObj.length*loaded) *(event.currentTarget.mouseX+100)/200); 
#50   antonxxxl      11 мая 2010 14:38   ICQ: --   



Регистрация: --
Публикаций: 0
Комментариев: 0
Я первый сайт пока создаю и  ни чё не понял тут,как кнопки и где создавать их?Я понял только куда муз.вставлять
#51   joshdigit      11 мая 2010 19:25   ICQ: --   



Регистрация: --
Публикаций: 0
Комментариев: 0
Спасибо. Зачетный урок.
#52   mrDobryj      14 июня 2010 00:21   ICQ: --   



Регистрация: --
Публикаций: 0
Комментариев: 0
Никак не могу понять как написать правильный путь и куда ложить этот флеш
#53   kazyla      23 июля 2010 13:08   ICQ: --   



Регистрация: --
Публикаций: 0
Комментариев: 0
Привет создателям урока !
Flash програмирование осваиваю относительно недавно, сделал плеер по Вашему уроку - отлично работает. только вот такая проблема возникла. гуглил ответ не нашол.
нажимаю на плей, файл начал проигрываться. и теперь если нажать на кнопку "назад" в браузере, до того как плеер загрузит весь файл, то есть кагда полоса загрузки файла не равна 100 процентам. браузер выдаст следующую ошибку:
Error #2044: Необработанный IOErrorEvent:. text=Error #2032: Ошибка потока.
    at player_fla::MainTimeline/PlaySound()
    at player_fla::MainTimeline/startPlay()
при этом эксплорер и гугли хром ошибку не выдают. а фаирфокс и опера - выдают.
как это лечиться подскажите пожалуста, буду боагодарен.
#54   kazyla      31 июля 2010 18:57   ICQ: --   



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

Сам спросил, сам и отвечу. Может кому будет интересно.

Проблема возникновения ошибки является в том, что при нажатии кнопки назад. в переменной внутри flash, которая через flashvars принимала в себя url проигрываемого mp3, так как html форма по сути закрыта а flash еще активный. решение, сделать проверку на то принята ли переменная. хе

проситал и понял что может и не понятно. но если что пишите, разьясню лучше )

#55   alexpus      10 августа 2010 21:10   ICQ: --   



Регистрация: --
Публикаций: 0
Комментариев: 0
Здравствуйте=)))
вы не могли бы подсказать, что эта за ошибка и откуда она могла взяться

TypeError: Error #1010: Термин не определен и не имеет свойств.
at player_fla::MainTimeline/frame1()
 
#56   Fly      10 августа 2010 23:24   ICQ: --   



Регистрация: 21.07.2008
Публикаций: 65
Комментариев: 592
Цитата: alexpus
TypeError: Error #1010: Термин не определен и не имеет свойств. at player_fla::MainTimeline/frame1()
Вы инстанс нэйм указали?


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

Мы в контакте - http://vkontakte.ru/club9573247
Не отвечаю на вопросы в личку касаемо Flash, у нас для этого есть форум
#57   alexpus      11 августа 2010 17:32   ICQ: --   



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

Не все указал=)))....Но смог найти...раз десять всё пересмотрел, только потом дошло где ошибка прячется=))....
Спасибо за урок=))) smile 

#58   Dr.And      22 августа 2010 17:52   ICQ: --   



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

Подключал потоковое аудио. Большинство потоков воспроизводится без проблем.
Но наткнулся на вот такие потоки:
http://stream.16bit.fm:9500
http://88.198.61.23100
С данного плеера на локальном компьютере потоки воспроизводятся нормально,
а при загрузке на сервер - молчат. Пути прописывал и полные и относительные -
глухо...
Может ли быть проблема в самом плеере?
#59   sanchopan      17 сентября 2010 08:09   ICQ: --   



Регистрация: --
Публикаций: 0
Комментариев: 0
Подскажите у меня бывает так, что когда плеер проиграет несколько треков, то потом он начинает играть их с середины
#60   Veamont      24 сентября 2010 16:45   ICQ: --   



Регистрация: 24.09.2010
Публикаций: 0
Комментариев: 3
КТонить помогите плиз у мя проблема (вот плеер:http://jovi.ucoz.ru/fl/play5.swf)
Сделал всё по уроку, но не могу понять почему при нажатии паузы во время проигрывания песни и последующем нажатии плэй, флеш виснет и ждёт полной загрузки песни... Хелп !!! dontknow

Информация

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