Avatar billede snigeren Nybegynder
24. juli 2003 - 11:56 Der 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 ?

her er lige den swf, så man kan se at der ikke er noget preload på,..
http://www.triodimenzionale.dk/misc/track12.swf

/Snig
Avatar billede barklund Nybegynder
24. juli 2003 - 12:07 #1
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...
Avatar billede snigeren Nybegynder
24. juli 2003 - 12:20 #2
ahhh så hvis jeg slår "Available in first frame" fra burde det være muligt ?
Avatar billede barklund Nybegynder
24. juli 2003 - 12:22 #3
Ja.... jeg har dog nogen gange haft problemer med den...
Avatar billede snigeren Nybegynder
24. juli 2003 - 12:24 #4
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 ?
Avatar billede snigeren Nybegynder
24. juli 2003 - 14:09 #5
hmmm det virker ikke lige når jeg preloader i 1.swf som i frame 5 henter 2.swf ind...
den burde da oxo preloade loadMovie(....);  ikke ?
Avatar billede barklund Nybegynder
24. juli 2003 - 14:38 #6
Nej... Du skal selv preloade resultatet af din loadMovie:

loadMovie("2.swf", target);
target.onEnterFrame = function() {

}
Avatar billede barklund Nybegynder
24. juli 2003 - 14:38 #7
loadMovie("2.swf", target);
target.onEnterFrame = function() {
    if (this.getBytesLoaded() == this.getBytesTotal())
        // færdig!
}
Avatar billede snigeren Nybegynder
24. juli 2003 - 15:14 #8
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);
Avatar billede snigeren Nybegynder
24. juli 2003 - 15:15 #9
jeg kan sagtens styre lyden fra min musikmenu.swf,.. det bare den preloader der ikke vil virke
Avatar billede snigeren Nybegynder
25. juli 2003 - 09:35 #10
hmm jeg kan ikke få det til at virke du har vel ikke en fil liggende der preloader noget musik ?
Avatar billede snigeren Nybegynder
25. juli 2003 - 09:48 #11
kan man ikke kalde en lyd frem i frame 1, så den bliver loaded helt der med en preloader og derefter i frame 5 afspil?

eller skal man virkelig til at smide hele lydfilen ind i en timeline ?
Avatar billede barklund Nybegynder
25. juli 2003 - 09:53 #12
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!
Avatar billede snigeren Nybegynder
25. juli 2003 - 10:07 #13
hvis man bruger loadSound og henter en mp3,.. bliver den så yderligere komprimeret eller beholder den lydkvaliteten fra mp3 filen ?

helt præcis hvad gør du når du preloader et stykke musik ?  altså med eksterne swf´er
Avatar billede snigeren Nybegynder
25. juli 2003 - 11:53 #14
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
Avatar billede barklund Nybegynder
25. juli 2003 - 13:12 #15
Fjongst!
Avatar billede snigeren Nybegynder
25. juli 2003 - 14:47 #16
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 ?
Avatar billede snigeren Nybegynder
25. juli 2003 - 15:07 #17
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
Avatar billede snigeren Nybegynder
25. juli 2003 - 15:44 #18
lige en aller sidste ting =)

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();

  // Call checkLoadProgress() every 200 milliseconds.
  this.loaderID = setInterval(this, "checkLoadProgress", 200);

  // 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);
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester