Помогни ни да направим Uroci.net по - богат! Добави урок

Четене на ID3 тагове с Flash (mp3)

accorp   трудност:    видян: 7698


Разяснения по Action Script-a:

var mySound:Sound = new Sound();

С това декларираме нашия аудио обект. Не можем да управляваме директно mp3 файла, затова правим променлива, която ще “съдържа” файла. mySound е името и както сами се досещате с :Sound казваме на флаш, че това ще е само и единствено звук.

mySound.onSoundComplete = this.stop();

mySound.setVolume(50);

Тези два реда са полу-излишни, тъй като това не е реален плеър, а само тест/теория.

На първия ред оказваме на флаш какво да прави със звука, след като той е възпроизведен до край. В случая, след края на песента звука ще спре. На вторият ред задаваме силата на звука за нашата „аудио променлива” – 50%.

mySound.loadSound("ATB - Marrakech.mp3", true);

С този ред вече зареждаме в декларираната променлива зареждане на външна mp3. В скобите, преди запетаята в кавички е пътя към песента. В случая съм избрал да е в същата директория като флаш файла, но може да се сложи и точен URL. След запетаята може да се сложи и още един параметър и това е дали песента да е Stream или не. В случая песента е Stream и ако искате и вашата да се „стриймва” просто оставете параметъра със стойност true. С false песента ще може да се възпроизведе едва когато се зареди напълно.

mySound.onID3 = function(){

Това е и основната ни цел – функцията която ще прочете тага на mp3 файла.

Запомнете! Събитието onID3 работи тогава и само тогава, когато преди него вече е заредена (или се зарежда) песен. В този случай песента се зарежда с loadSound. onID3 ще работи и с attachSound.

infoID3.text = this.id3.TPE1 + " - " + this.id3.TIT2;

От лявата страна на „уравнението” се обръщаме към текстово поле, което направихме с Instance Name: infoID3 и по-точно към текста, което искаме да впишем в това поле.

this.id3.TPE1

В случая адресирането this, всъщност е напия звук mySound, но ако сте начинаещи не си правете експерименти с такова адресиране. След това идва и рекуеста на флаш id3.

Няма да се впускам в големи подробности, но трябва да спомена някой много важни неща. Едно от тези неща е, че Flash Player 6 поддържа само тага ID3v1, т.е. лявата колонка в таг едитора. По високите версии на плеъра поддържат и ID3v2.

Също така трябва да спомена, че това четене може да поддържа само UTF-8 знаци от таговете. Или с други думи – само латиница (ако искате да заредите български песни се уверете, че таговете са на латиница)!

Да се върнем на този ред от кода: this.id3.TPE1

След като вече сме се обърнали към id3 свойството, можем да изберем и точния таг. В случая TPE1 е изпълнителя на песента, но от тага ID3v1. Забележете, че това всъщност е една променлива (this.id3.TPE1) и за това не се слага в кавички. Ако е в кавички в текстовото поле ще се изпише this.id3.TPE1 :)

+ " - " +

Плюсовете ни позволяват да добавим нещо към текста, в случая ни позволяват да добавим текст след името на изпълнителя. Абстрахирайте се от двата плюса и ще видите, че всъщност добавяме „празно място, тире, празно място”. Вижте Winamp-a – има такова нещо между песента и изпълнителя, помага за да е по-четливо.

this.id3.TIT2;

Това е последната част от текстовото поле. TIT2 чете името на песента от таг ID3v1. Забележете, че след това има точка и запетая, което слага край на „писането” в текстовото ни поле.

}

Последния ред, но не на последно място по важност, спира функцията mySound.onID3.


Страници: «1 2 3 »

Коментари (3)

grizli на 05.05 2008 в 02:12ч.
пич, страшен си! Но ако беше сложил и примерен проект - щеше да е по-яко. Мен ми върши работа донякъде и в тоя вариант, защото мисля да го ползвам в сайта си за дипломната работа, но с примерен файл - тогава е още по-яко.
hristo161 на 26.05 2008 в 11:35ч.
Защо не добавим текст с instase name: UrL, два бутона, като на първия добавим скрипт:
on (release) {
var mySound:Sound = new Sound();
mySound.onSoundComplete = this.stop();
mySound.setVolume(50);
mySound.loadSound(UrL.text, true);
mySound.onID3 = function(){
infoID3.text = this.id3.TPE1 + " - " + this.id3.TIT2;
}
}
а на втория:
on (release) {
mySound = this.stop();
}
da4ka13 на 27.08 2008 в 12:24ч.
Хубав урок, особенно полезен е списъка накрая, щото на мен ми отне 3-и дни докато го намеря това във Help-а на Flash CS3.
Мен ми е интересно дали може по някъкъв начин да се изпише пътят до файла и рейтинга който може да се наглася от Winamp-a или напражо от Explorer-a.

Регистрирайте се, за да добавите коментар


Калдейта ЕООД - © 2003-2010. Всички права запазени.
Препоръчваме: Национален Бизнес | Bomba.bg | IT Новини | Диплома.бг | TRAVEL туризъм | Реферати | AmAm.bg | Иде.ли | Курсови работи | Фото Форум | Spodeli.net | Фото-Култ | Atol.bg | Elmaz.com | MobileBulgaria.com | Казанлък.Com