Потребител Парола | Регистрация | Забравена парола
Меню
· Начало
· Файлове
· Форум
· Връзки
· Категории на уроците
· За контакти
· Фото галерия
· Търсене
Кажи на приятел

Вашия email:
email на приятел:
Копие за вас?
Реклама

Flash Mp3 Player

FlashВ този урок ще ви покажа как да си направите Flash Player с XML плейлист.
Като за начало, направете един XML файл – създайте един текстови файл (txt) и го преименувайте с разширение .xml. Отворете този файл с някакъв текстови редактор, например Notepad. Вече имаме файла, но той все още е само текстови. Запишете на пърия ред:
<?xml version="1.0" encoding="UTF-8"?>
Това декларира XML файла като такъв, задължителен ред за всички XML файлове.
Сега да започнем списъка, добавете още два реда и запишете един по друг тези два тага:
<songs>
</songs>
Между тези два тага ще запишем песните. В практиката този таг (по принцип, не тага songs, който всъщност ние си правим) се нарича firstChild. Запомнете това, защото ще ни помогне да адресираме песните, които ще добавим, напрактика в този firstChild.
Сега да добавим и една песен между таговете <songs> и </songs>:
<song url=”track1.mp3” />
За да се различава от firstChild кръщаваме тага song. Виждате и още нещо – url=”track1.mp3” – това ще атрибута с който ще адресираме mp3 файла. Това url се нарича attributes.
Вече имаме една песен в tracklist-а, който трябва да изглежда така:
<?xml version="1.0" encoding="UTF-8"?>
<songs>
<song url=”track1.mp3” />
</songs>
Сега отворете флаш и направете, като за начало, два слоя с имена: buttons и actions. На слоя buttons ще направим няколко бутончета, а на слоя actions всичкия Action Script, който ни е нужен.
Да започнем от слоя actions, изберете фрейма и отворете Actions Panel-a. На първо и най-важно място е променливата клас аудио:
var my_snd:Sound = new Sound();



Сега трябва да настроим и събитието onSoundComplete:
my_snd.SoundComplete = nextTrack;
Когато свърши песента ще се извърши фунция nextTrack, която ще напишем по-късно.

Сега да настроим и силата на звука:
my_snd.setVolume(50);
Сила на звука ще бъде 50%, за сега, по-късно ще направим и плъзгач за регулиране.

Ще направим една променлива, с която ще разбираме коя песен е текуща и чрез нея ще избираме следваща/предишна:
var current_track:Number = 0;
Избираме 0, защото първия елемент от списъка (Array) винаги е 0.

Сега да направим един списък, който ще запълним с данните от XML файла.
var songArray:Array = new Array();


Време е да декларираме частта за листа с песните:
var xml:XML = new XML();
Забележете, че xml изписано с малки букви не е запазена дума във флаш, но с големи букви е клас, така че спокойно можем да кръстим променливата xml.

xml.ignoreWhite = true;
Това е едно от нещата, които винаги трябва да правите. В случай че го няма, няма да игнорира „белите места”, т.е. празните и всъщност ще ги счете за XML елементи.

Другото задължително нещо, което трябва да направим е да декларираме събитието (event) onLoad. В противен случай само ще заредим XML файла, но няма да направим нищо с него:
xml.onLoad = function(){


Вече сложихме началото на блока, сега е време на направим една променлива, която ще ще представлява „адрес” към нашата песен, т.е. към песента посочена в XML файла:
var mainNode = xml.firstChild.childNodes;
Ще ви е по-разбираемо, ако си припомните частта с обясненията за XML файла. childNodes представляват тагове затворени във firstChild или казано според контретни случай – childNodes са song таговете, firstChild е „блока” <songs>…</songs>.

Следващата ни работа е да прочетем всички url атрибути (attributes) от всички song тагове. Казвам всички, защото те може да станат повече от един:
for(var i=0; i<mainNode.length; i++){
С for ще обиколим всички тагове, като започнем от 0. Не забравяйте, че в списъците първия елемент не е 1, а 0. Следващата стъпка от for е да ограничим „броенето”, а последния таг song. Не забравяйте горната променлива mainNode, която декларирахме. Тя всъщност представлява всички song тагове, така че с length ще намерим броя им. И последната част – прогресия с 1, за да не прескачаме елементи.

След като вече можем да минем през всички тагове, нека ги сложим в нашия списък, който декларирахме по-горе – songArray:
songArray.push(mainNode[i].attributes.url);
}
}
Адресираме нашия списък и с push, буквално бутаме елементи в него. Сега, виждате нашата променлива съдържаща song таговете – mainNode, с една малка особеност – индекс от i ([i]). Не забравяйте, че числото i е със стойност в интервала от 0 до броя на таговете song. С тази конструкция mainNode[i] получваме няколко различни променливи mainNode, чийто брой е равен на броя на таговете song. Например, ако имаме 3 тага <song />, поучаваме mainNode[0], mainNode[1] и mainNode[2].
След като вече разбрахме броя на таговете и „размножихме” mainNode, нека да адресираме съдържанието на url атрибутите, наоример mainNode[0].attributes.url – това е атрибута url на първия таг song. Виждате, че има и две големи скоби (}), първата затваря блока for, а втората затваря блока onLoad събитието (event).

Време е да заредим самия xml файл:
xml.load("trackList.xml");
Адресираме xml променливата ни и с метод load. В скоби и в кавички поставяме път или точен url до файла, в случая съм кръстил xml файла ми trackList.xml.
· smilev на January 17 2011 14:56:37 · 0 Коментари · 1764 Прочитания · Отпечатай
Коментари
Няма добавени коментари.
Напиши коментар
Моля влезте, за да коментирате.
Оценка
Рейтингите са достъпни само за регистрирани.

Моля влезте или се регистрирайте за да гласувате.

Няма оценки.
Вход
Потребител

Парола



Не сте регистрирани?
Натиснете тук за регистрация.

Забравена парола?
Натиснете тук за нова.
Анкета
С каква операционна система работите











Трябва да влезете за да гласувате.
ЧАТ
Трябва да влезате за да пуснете съобщение.

Няма съобщения.
Статистика