Autor Zpráva
Steve_RH
Profil
Zdarec flasheři, mám dotaz. Mám MC do kterého externě nahrávám ňáký MP3jky. Potřeboval bych vědět, jestli jde pomocí ActionScriptu udělat, že když mi dohraje jedna, aby se načetla a začala hrát další. Díky
Ladza
Profil
samozřejmě že jde :-) pro neznale action scriptu doporucuji velice jednoduche a s flashem nic spolecne reseni-> v editoru mp3 si ty pisnicky spoj v jedny a tak to zacyklujes :-) a pak das preloader na song a po 10% to treba zacne hrat(tomu nastav) a mas to....

jinak nekde uz se to tady resilo tak si t onajdi,zas tak davno t nebylo(max. 1list zpet bud v action scritpu, macromedia flash nebo flash vseobecne)
Steve_RH
Profil
To mě napadlo taky, ale já to chci udělat třeba tak, aby se mi ty MP3 přehrávali v náhodném pořadí a takhle... Takže bych raději bral nějakou cestu přes AS, pokud to vůbec jde...
Boy
Profil
Jasně, že to jde. Už jsem to tu řešil. I ta náhodnoust by nemusela být vůbec složitá. Pokud to vydržíš do večera, tak ti tu napíšu řešení. Jsem totiž právě na GNU/Linuxu a na tom jaksi Flash nemám.
FlashManiac
Profil
var zvuk:Sound=new Sound();
zvuk.attachSound('zvuk');//alternativa je loadSound('cesta');
zvuk.play(0,0);//pri alternative loadSOund musis pouzit nejdriv
/*zvuk.onLoad=function(){
zvuk.play(0,0);
}
*/

zvuk.onSoundComplete=function(){
//naloadujes dalsi zvuk vz metody nahore
}

spokojenost? :P
Steve_RH
Profil
Jojo, už sem to "onSoundComplete" nasel včera v Helpu, ale stejně díky :-)
Boy
Profil
Přináším ti tady přímo luxusní řešení. Nejdříve si zadefinuješ cesty ke zvukům a poté se už náhodně generují skladby, které se mají dále přehrávat.
//V následujícím poli definuj cesty ke všem skladbám, ze kterých se bude náhodně vybírat

var pole_zvuku:Array = new Array("zvuk_muj_1.mp3", "zvuk_tvuj_2.mp3", "hudba_3.mp3", "rock_4.mp3");
var aktualni_zvuk:Number = 0; //Tato proměnná definuje index položky v poli, kterou se bude začínat
var zvuk:Sound = new Sound();
zvuk.onLoad = function(succes) {
if (succes) {
zvuk.start();
trace("Přehrává se zvuk "+pole_zvuku[aktualni_zvuk]);
} else {
trace("Chyba pri načítání zvuku "+pole_zvuku[aktualni_zvuk]);
}
};
zvuk.loadSound(pole_zvuku[aktualni_zvuk]);
zvuk.onSoundComplete = function() {
nahodne_cislo = Math.round((pole_zvuku.length-1)*Math.random()); //Generuje náhodné číslo od nuly do (délka pole - 1)
while (nahodne_cislo == aktualni_zvuk) {
//Pokud se náhodou vygeneruje číslo stejné skladby, která hrála předtím, bude se generovat tak dlouho, dokud se nevygeneruje jiné číslo
nahodne_cislo = Math.round((pole_zvuku.length-1)*Math.random());
}
aktualni_zvuk = nahodne_cislo;
zvuk.loadSound(pole_zvuku[aktualni_zvuk]);
};
Boy
Profil
je to celkem jednoduché řešení... Dalo by se drobnou úpravou zajistit i to, že by se náhodně také začínalo.
Boy
Profil
Tohle je řešení, které začíná náhodnou skladbou:
//V následujícím poli definuj cesty ke všem skladbám, ze kterých se bude náhodně vybírat

var pole_zvuku:Array = new Array("zvuk_muj_1.mp3", "zvuk_tvuj_2.mp3", "hudba_3.mp3", "rock_4.mp3");

var aktualni_zvuk:Number; //Tato proměnná definuje index položky v poli, kterou se bude začínat
nahodne_cislo = Math.round((pole_zvuku.length-1)*Math.random()); //Generuje náhodné číslo od nuly do (délka pole - 1)
aktualni_zvuk = nahodne_cislo;

var zvuk:Sound = new Sound();
zvuk.onLoad = function(succes) {
if (succes) {
zvuk.start();
trace("Přehrává se zvuk "+pole_zvuku[aktualni_zvuk]);
} else {
trace("Chyba pri načítání zvuku "+pole_zvuku[aktualni_zvuk]);
}
};
zvuk.loadSound(pole_zvuku[aktualni_zvuk]);
zvuk.onSoundComplete = function() {
nahodne_cislo = Math.round((pole_zvuku.length-1)*Math.random()); //Generuje náhodné číslo od nuly do (délka pole - 1)
while (nahodne_cislo == aktualni_zvuk) {
//Pokud se náhodou vygeneruje číslo stejné skladby, která hrála předtím, bude se generovat tak dlouho, dokud se nevygeneruje jiné číslo
nahodne_cislo = Math.round((pole_zvuku.length-1)*Math.random());
}
aktualni_zvuk = nahodne_cislo;
zvuk.loadSound(pole_zvuku[aktualni_zvuk]);
};

PS: Kdyby jsi tam našel nějaké chyby, tak řekni.
Steve_RH
Profil
Wow! Tak to je vyčerpávající! Díky :-)
FlashManiac
Profil
steve..
neches este nahodou tam mit nejake ID3tagy? abys vedelco se prehrava? to taky jde...
Steve_RH
Profil
Jo, id3 by se hodily, já sem koukal do helpu, zkoušel sem to ňák udělat, ale bylo to nějaké prapodivné, takže pokud mi napíšeš jak, tak se rozhodně zlobit nebudu:-)
Boy
Profil
Možná to bylo prapodivné jen čistě kvůli toho, že k tvé skladbě žáné ID3tagy vyplněny nebyly.
Steve_RH
Profil
Ne, tim to není, ty songy id3 maj, to vim jistě, ale když sem použil:
var my_sound:Sound = new Sound();
my_sound.onID3 = function(){
for( var prop in my_sound.id3 ){
trace( prop + " : "+ my_sound.id3[prop] );
}
}
my_sound.loadSound("song.mp3", false);

(takhle je to v helpu) tak mi to vypsalo všechny možný věci, ale já chci vypsat třeba jenom název songu a interpreta... To sem zkoušel ,ale ňk to nešlo.
Boy
Profil
Naprosto jednoduše přece... třeba takto:
zvuk.onID3 = function(){ 

trace("interpret: "+zvuk.id3.artist+"; skladba: "+zvuk.id3.songname);
}
Toto téma je uzamčeno. Odpověď nelze zaslat.

0