24. juli 2003 - 11:56Der er
17 kommentarer og 1 løsning
preloader til sound object
Hej
Jeg har lavet en preloader til et sound object, men af en eller andet årsag vil den ikke vise preloaderen. Den loader og loader og lige inden den begynder at spille musikken blinker preloaderen hurtigt 1 gang...
er det anderledes at lave en preloader til musik ?
Da din lyd ligger i library som attachable, så bliver den loaded FØR første frame. Du kan i dine export settings slå "Available in first frame" fra eller lægge den i en ekstern swf.
Det er lige som at loade en swf med grafik som exportable i library...
ye,.. det virker ikke når jeg slår export in first frame fra,.. så fylder swf filen kun 1 kb. men kan det ikke lade sig gøre at lægge preloaderen i en scene for sig selv ?
hmm jeg tror der er nogen der har proppet virus ind i min comz... det virker ikke =(
den blinker stadig bare. Jeg har bygget det op som følger:
1. frame i den swf der henter track12.swf: loadMovie("flash/sound/track12.swf", mLoader_mc); mLoader_mc.onEnterFrame = function() { if (this.getBytesLoaded() == this.getBytesTotal()) gotoAndStop(4); }
i samme frame har jeg så et movie klip med en loader bar i. frame 4 er bare udenfor loader baren.
track12.swf 1. frame: lyd = new Sound(this); lyd.attachSound("track12"); lyd.start(0, 999);
Jeg har lavet masser af projekter, der preloader lyd fra eksterne swf'er... Du kan også loade den ind som mp3 med loadSound. Det er ikke noget problem!
nuii havde lige glemt vores gode ven colin moock. fandt jo lige en super duper preloader til mp3 på hans code depot.
men stik mig lige et svar alligevel du fik mig jo lige til at forstå hvorfor man ikke bare kan bruge en normal preloader til lyd. og brugte en del tid =)
godt nok et pænt stort script ham moock fik fyret af men det er sku nice, lige hvad jeg havde brug for det tæller både % og kb. Der er godt nok et par linier jeg ikke lige helt ved hvad gør, men det finder jeg sikkert ud af engang
ja det virker fedt,.. men nu har jeg rodet sindsygt længe med at få koncerteret nogle wav om til mp3 og jeg tror der er en bug i flash nogle gange spiller en mp3 2-3 gange så hurtigt som den skal. Det kommer an på hvilken compression jeg har brugt,.. jeg har tilmed prøvet 4 forskellige mp3 converetere... og hvis jeg valgte 40 og 48 kbit/s spiller musikken for hurtigt når den kommer ind i flash =(
har du nogen idé til hvad det kan være og hvordan det kan løses ?
ved du forresten om man kan hente en wav ind i flash og exportere det hele som en mp3 ? så kan jeg jo på den måde konvertere til mp3. for jeg kan sagtens i flash stille den på 48 kbit uden probs
du har sikkert set mit nye spørgsmål,.. men jeg har fundet ud af at det script jeg bruger ikke looper lyden =( kan man ikke tilføje en linie eller noget og få den til at loope lyden 999 gange eller noget ?
her er scriptet:
var mainTimeline = this; /* * Method: Sound.checkLoadProgress() * Desc: Checks progress of a load(). * Called only by preload(). Reports download progress * by invoking a custom Sound.onBytesLoaded() handler. */ Sound.prototype.checkLoadProgress = function () { // Check how many kilobytes have loaded. var kbLoaded = Math.floor(this.getBytesLoaded()/1024); // Check the size of the file loading, in kilobytes. var kbTotal = Math.floor(this.getBytesTotal()/1024); // Calculate the percent complete. var percentDone = isNaN(Math.floor(kbLoaded/kbTotal * 100)) ? 0 : Math.floor(kbLoaded/kbTotal * 100); // Execute the onBytesLoaded() callback, which // typically would display load progress. this.onBytesLoaded(this.getBytesLoaded(), this.getBytesTotal(), kbLoaded, kbTotal, percentDone); }
/* * Method: Sound.clearLoadCheck() * Desc: Cancels an interval calling checkLoadProgress(). */ Sound.prototype.clearLoadCheck = function () { // If there is a load interval for this Sound object... if (this.loaderID) { // ...stop calling it. clearInterval(this.loaderID); } }
/* * Method: Sound.preloadSound() * Desc: Begins the download of a sound file and executes * checkLoadProgress() every 200ms until the file has loaded. * Parameters are the same as Sound.loadSound(). */ Sound.prototype.preloadSound = function (url, isStreaming) { // Always stop any previous preload before proceeding. this.clearLoadCheck();
// Load the Sound file. this.loadSound(url, isStreaming); }
// ================= // Usage // ================= // Create a sound object. lyd = new Sound();
// Assign an onLoad() callback. lyd.onLoad = function (success) { // Cancel the preload interval (REQUIRED!). this.clearLoadCheck();
// If the load was successful... if (success) { // ...use the new Sound. For example, if the loaded // sound is an event sound, we can start it like this: // this.start(); // mainTimeline.loadMsg_txt.text = "Done loading."; _parent.gotoAndStop(2); _parent.playing=true; _parent.pladeRiller_mc.play(); } else { // ...otherwise, perform failure operations. mainTimeline.loadMsg_txt.text = "Load failed."; } }
// Assign an onBytesLoaded() callback. This is where each // individual Sound object can decide what to do // with the preload information. lyd.onBytesLoaded = function (bytesLoaded, bytesTotal, kbLoaded, kbTotal, percentLoaded) { mainTimeline.loadMsg_txt.text = "Loading: " + kbLoaded + " of " + kbTotal; }
// Load a streaming sound. lyd.preloadSound("white_soul.mp3", true);
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.