Megoldások cím
Google Keresés.
Tartalom Keresés.
Megoldások cím
• 01 Osztályok alap kezelése (4)
• 02 Töltéskijelző megoldások (6)
• 03 Mozgatások megoldásai (8)
• 04 Egyszerű rajzoló példák (8)
• 05 Egérrel vezérelt mozgás (4)
• 06 Alap eseménykezelések (8)
• 07 Filterek dinamikusan (4)
• 08 XML adatok kezelése (5)
• 09 Hangok alap kezelése
   ◊ 01 Egyszerű hanglejátszás
   ◊ 02 Hang lejátszása többször
   ◊ 03 Végtelenített lejátszás
   ◊ 04 Hangok és események
   ◊ 05 Play és Stop gombok
   ◊ 06 Pause gomb készítés
   ◊ 07 Hangerő gomb készítése
   ◊ 08 Panning scroll gomb
   ◊ 09 Lejátszás kijelzése
   ◊ 10 Grafikus spektrumanalízis
   ◊ 11 Több hang betöltése
• 10 Videó fájlok kezelése (1)
• 11 3D alakzatok készítése (6)
• 12 Egyedi context menu (3)
Érdekességek 1
Ilyés Lajos fejléc
Ilyés Lajos (Ducky)
Érdekességek 2
Partnerek cím
     ◊ Swf.hu Flash portál
     ◊ Designshop Vásárlás
     ◊ Coolgames játékoldal
     ◊ PentaSchool távoktatás
     ◊ Zone404 Webhosting
     ◊ Ducky Studio Programok
     ◊ Szoftver.hu Szoftverek
Elérhetőségek cím
Néhány kapcsolati adat, ha esetleg megtetszett a blog és szeretnél írni pár sort. Flash-el kapcsolatos kérdésekre az Swf.hu fórumán kaphatsz válaszokat, kérlek oda írj.
     ◊ Web:   www.ducky.hu
     ◊ Mail 1:   ducky@ducky.hu
     ◊ Mail 2:   ducky@ipmedia.hu
     ◊ Fórum:   Swf.hu Fórum
Statisztikák
  Látogatók száma eddig:  121305
  Lapletöltések száma:  173370
Valid W3C blog
Valid XHTML 1.0 Transitional Valid CSS!
Ma 2010. Szeptember 8. szerda van. A mai névnaposok: Mária, Adrienn. Boldog névnapot!
  Legújabb források:
  03 Egyedi menü alapok  02 Menü elemek egyenként
  01 Eredeti elemek tiltása  05 Xml formázása CSS-el
  06 EnterFrame videótöltés  05 Video fájl betöltése
  01 Alap Flv lejátszás  11 Több hang betöltése
Blogon található anyagok:
Témák száma: 12 téma  
Leírások száma: 68 leírás  
Példák száma: 136 példa  
Oldalak száma: 145 oldal  
11 Több hang betöltése ( külső osztály verzió ) Olvasva: 2636 alkalommal.
Válaszd ki a megfelelő verziót:  [:: Külső osztály verzió ::]  [:: Frame-re írt verzió ::]    Lapozás: 1
A tartalommal és a bloggal kapcsolatos hozzászólásokat leírhatod, az Swf.hu oldalon erre a célra kialakított fórumtémában. Cím : Ducky AS3 blog. A fórum használatához Swf.hu regisztráció szükséges.
A Töltéskijelző megoldások csoportban Hangfájl betöltése címen található egy leírás, hogy külső hangfájlt hogyan lehet betölteni, lejátszani és a töltés folyamatát kijelezni. Most nézzük meg azt, hogy hogyan lehet több hangfájlt betölteni egy moziba, például egy Mp3 lejátszó alkalmazás keretein belül. Mivel itt több összetevő is van az alap moziban, így az alap forrás letölthető ITT. A Flash mozi a lenti képen látható paraméterekkel készült. A Properties panelen a Document class mezőben adjuk meg a TobbHangBetoltese osztályt.
img1
A mozin belül már el vannak készítve a szükséges MovieClip-ek (mc) és el vannak helyezve a megfelelő rétegeken. Az instance neveket is megadtuk. A működő verzió megtekinthető a lenti példában.

Flash Lejátszó Hiányosság!

Az oldal Flash tartalmainak megtekintéséhez Flash 9-es lejátszó
szükséges. Az ön gépén található Flash lejátszó régebbi verzió.
Kérjük, hogy a lenti logóra kattintva frissítse a lejátszóját.

Adobe Flash player

Most pedig készítsük el a vezérlő AS kódot, amelyet az FLA fájlal azonos mappába mentsünk el TobbHangBetoltese.as néven. Ez megegyezik az osztály nevével.
/* TobbHangBetoltese.as */
//
package {

    // szükséges csomag
    import flash.display.*;
    import flash.events.*;
    import flash.media.*;
    import flash.net.*;

    // TobbHangBetoltese osztály
    public class TobbHangBetoltese extends Sprite {

        // tulajdonságok
        private var hangTarolo:Sound;
        private var hangCsatorna:SoundChannel;
        private var zenefajlCime:URLRequest;
        private var stopPozicio:int;
        private var playerEnged:Boolean;

        // konstruktor
        public function TobbHangBetoltese () {
            stopPozicio = 0;
            hangCsatorna = new SoundChannel();
            panelMozi.visible = false;
            loaderMozi.visible = false;
            playerEnged = false;
            esemenyekKiosztasa ();
        }

        // eseménykiosztó metódus
        private function esemenyekKiosztasa ():void {
            panelMozi.playGomb.addEventListener ( MouseEvent.CLICK, playEsemeny );
            panelMozi.pauseGomb.addEventListener ( MouseEvent.CLICK, pauseEsemeny );
            panelMozi.stopGomb.addEventListener ( MouseEvent.CLICK, stopEsemeny );
            for (var i:int = 0; i < 3; i++) {
                var acGb:MovieClip = getChildByName( "zeneGomb" + i ) as MovieClip;
                acGb.stop ();
                acGb.buttonMode = true;
                acGb.zeneNeve = "SoundLoop" + i + ".mp3";
                acGb.addEventListener ( MouseEvent.ROLL_OVER, zenegombOver );
                acGb.addEventListener ( MouseEvent.ROLL_OUT, zenegombOut );
                acGb.addEventListener ( MouseEvent.CLICK, zenetoltInditas );
            }
        }

        // zenegomb ROLL_OVER metódus
        private function zenegombOver ( eData:MouseEvent ):void {
            eData.target.gotoAndStop ( 2 );
        }

        // zenegomb ROLL_OUT metódus
        private function zenegombOut ( eData:MouseEvent ):void {
            eData.target.gotoAndStop ( 1 );
        }

        // letöltés indítás metódus
        private function zenetoltInditas ( eData:MouseEvent ):void {
            panelMozi.visible = false;
            loaderMozi.visible = true;
            playerEnged = false;
            hangCsatorna.stop ();
            hangTarolo = new Sound();
            hangTarolo.addEventListener ( Event.COMPLETE, toltesKeszen);
            hangTarolo.addEventListener ( ProgressEvent.PROGRESS, toltesFolyamatban );
            loaderMozi.visible = true;
            zenefajlCime = new URLRequest( eData.target.zeneNeve );
            hangTarolo.load ( zenefajlCime );
        }

        // letöltés készen metódus
        private function toltesKeszen ( eData:Event ):void {
            loaderMozi.visible = false;
            panelMozi.visible = true;
            panelMozi.animMozi.gotoAndStop ( 2 );
            hangCsatorna = eData.target.play( stopPozicio );
            hangTarolo.removeEventListener ( Event.COMPLETE, toltesKeszen);
            hangTarolo.removeEventListener ( ProgressEvent.PROGRESS, toltesFolyamatban );
        }

        // letöltés folyamatban metódus
        private function toltesFolyamatban ( eData:ProgressEvent ):void {
            var toltesAdat:Number = eData.bytesLoaded / eData.bytesTotal;
            loaderMozi.csikMozi.scaleX = toltesAdat;
            loaderMozi.kiirText.text = Math.round( toltesAdat * 100 ) + " %";
        }

        // play gomb CLICK metódus
        private function playEsemeny ( eData:MouseEvent ):void {
            if ( playerEnged ) {
                zeneElinditas ();
                if ( stopPozicio == 0 ) {
                    panelMozi.animMozi.gotoAndStop ( 2 );
                } else {
                    panelMozi.animMozi.belMozi.play ();
                }
            }
        }

        // pause gomb CLICK metódus
        private function pauseEsemeny ( eData:MouseEvent ):void {
            if ( !playerEnged ) {
                stopPozicio = hangCsatorna.position;
                panelMozi.animMozi.belMozi.stop ();
                zeneLeallitas ();

            }
        }

        // stop gomb CLICK metódus
        private function stopEsemeny ( eData:MouseEvent ):void {
            if ( !playerEnged ) {
                stopPozicio = 0;
                panelMozi.animMozi.gotoAndStop ( 1 );
                zeneLeallitas ();
            }
        }

        // zene indító metódus
        private function zeneElinditas ():void {
            hangCsatorna = hangTarolo.play( stopPozicio );
            playerEnged = false;
            hangCsatorna.addEventListener ( Event.SOUND_COMPLETE, zenevegeEsemeny );
        }

        // zene leállító metódus
        private function zeneLeallitas ():void {
            hangCsatorna.stop ();
            playerEnged = true;
            hangCsatorna.removeEventListener ( Event.SOUND_COMPLETE, zenevegeEsemeny );
        }

        // zene vége, újrakezdés metódus
        private function zenevegeEsemeny ( aData:Event ):void {
            stopPozicio = 0;
            hangCsatorna = hangTarolo.play( stopPozicio );
            hangCsatorna.addEventListener ( Event.SOUND_COMPLETE, zenevegeEsemeny );
        }

    }// osztály vége

}// csomag vége
//
Ha a több fájl betöltését kombináljuk a lejátszás kijelzésével és a spektrum analízissel, akkor máris kapunk egy komplett Mp3 lejátszót. Ha precízek akarunk lenni, akkor pl. az XML csoportban tanultakat felhasználva készíthetünk egy XML tárolót, amiben eltároljuk a zenéket, címeket, stb. és a player abból fog táplálkozni. A forrás letölthető ITT.
Válaszd ki a megfelelő verziót:  [:: Külső osztály verzió ::]  [:: Frame-re írt verzió ::]    Lapozás: 1