Mate Frameworkt - Injectors [Flash 10]
| 17.11.2009, 16:57 | Re16 | Beiträge: 380 Wohnort: München, Berlin Registriert: Apr 2009
Themenautor/in
| tja das wüsste ich auch gern;)
momentan liegt die ArrayCollection im PlayListManager
PlayListManager.as
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | [Bindable] AC_Sound:ArrayCollection = new ArrayCollection();
....
....
//daten in das Array speichern
public function ID3Event(id3event:Event):void
{
sound = Sound(id3event.target);
ID3 = ID3Info(sound.id3);
AddSound(ID3.songName, ID3.album, ID3.artist, ID3.track, ID3.year, ID3.genre, Duration, sound.url);
}
//auch noch im PlaylistManager der Aufruf der AddSoundmethode
public function AddSound(Title:String, Album:String, Artist:String, Track:String, Year:String, Genre:String, Duration:int, URL:String):void
{
trace("AddSound -----------------------------------------------------");
var soundIndex:int = -1;
var duplicateIndex:int = -1;
trace(AC_Sound.length.toString() +"---AC_Sound.length---------------------AddSound()---");
for (var i:int=0; i < AC_Sound.length; i++)
{
// if (AC_Sound[m]["url"] == URL)
if (AC_Sound[i]["url"] == URL)
{
soundIndex++;
duplicateIndex++;
}
trace(soundIndex + "---------------------for-----------soundIndex");
trace(duplicateIndex + "-----------------for-----------duplicateIndex");
}
}
|
ha du wirst es nicht glauben hab den fehler gefundne ich hab 2 mal ne instanz von AC_Sound gemacht;)
aber habe ein anderes prob:(
ich rufe z.B. musik.mp3 auf und in meiner Playlist wird dies 2 mal angezeit
also 2 mal druchlaufen ich weiss echt nicht warum er mein meine Funktion AddSound 2 mal druchläuft und somit wenn ich nur musik.mp3 aufrufe
in meiner playlist dieser 2 mal angezeigt wird
mfg sebDie Lösung ist: das Suchen.
LongCrew = 2 people | Geändert von longCrew am 17.11.09 um 16:58 Uhr
| |
|
| 17.11.2009, 17:18 | Re17 | Beiträge: 5285 Wohnort: Bernau (bei
Berlin) Registriert: Nov 2002
| Hm, was soll ich da jetzt schreiben?
Irgendwo wird anscheinend etwas doppelt ausgeführt.
Und wenn ich das lese:
ich hab 2 mal ne instanz von AC_Sound gemacht;)
dann ist das sogar sehr wahrscheinlich :) | |
| | | nicht sichtbar bei eingeloggten Mitgliedern |
|
| 18.11.2009, 08:48 | Re18 | Beiträge: 380 Wohnort: München, Berlin Registriert: Apr 2009
Themenautor/in
| mh ja irgendwo is der fehler --> ich sehe ihn nur nicht!!!:(
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | public function ID3Event(id3event:Event):void
{
sound = Sound(id3event.target);
ID3 = ID3Info(sound.id3);
trace(sound +"-----sound obj----------------------------------ID3Event()");
Duration = Math.floor(sound.length);
AddSound(ID3.songName, ID3.album, ID3.artist, ID3.track, ID3.year, ID3.genre, Duration, sound.url);
}
public function AddSound(Title:String, Album:String, Artist:String, Track:String, Year:String, Genre:String, Duration:int, URL:String):void
{
trace("AddSound -----------------------------------------------------");
var soundIndex:int = -1;
var duplicateIndex:int = -1;
trace(soundIndex+"-----------------------------------------soundIndex");
trace(duplicateIndex+"-------------------------------------duplicateIndex");
trace(AC_Sound.length.toString() +"---AC_Sound.length---------------------AddSound()---");
for (var i:int=0; i < AC_Sound.length; i++)
{
trace("for ------------addSound()");
trace(AC_Sound.getItemIndex(m) +"das index"); */
if (duplicateIndex >= 0)
{
if (Duration > AC_Sound[duplicateIndex]["duration"])
{
AC_Sound.removeItemAt(duplicateIndex);
AC_Sound.addItemAt({title: Title, album: Album, artist: Artist, track: Track, year: Year, genre: Genre, duration: Duration, url:URL}, duplicateIndex);
trace("IF ------------addSound()");
}
}
else
{
AC_Sound.addItem({title: Title, album: Album, artist: Artist, track: Track, year: Year, genre: Genre, duration: Duration, url:URL});
trace("else ------------addSound()");
}
// soundIndex++;
// duplicateIndex++;
trace(soundIndex + "--------------------addSound-----------soundIndex");
trace(duplicateIndex + "----------------addSound-----------duplicateIndex");
}
|
er ruft ID3Event auf dann geht er ihn addSound und dann nochmal das gleiche spiel -> id3Event wird aufgerufen --> danach AddSound
--> folge: 2 mal wird der Sound z.B. musik.mp3 angezeigt....
ich gebe doch keine befehl in addSound das er nochmal den Id3Event aufrufen soll!!!
das is ja das prob weil diese methode nochmal aufgerufen wird fügt er den sound nochmal zur Playlist.. ich sehe aber den fehler net
ich hoff du kannst mir weiterhelfen
mfgDie Lösung ist: das Suchen.
LongCrew = 2 people | |
| 18.11.2009, 10:38 | Re19 | Beiträge: 5285 Wohnort: Bernau (bei
Berlin) Registriert: Nov 2002
| Moin,
ich sehe da jetzt auch keinen Hinweis, warum ID3Event zweimal aufgerufen wird.
Ich denke das Problem liegt ausserhalb der Funktion.
Fügst du vielleicht irgendwo zwei Listener hinzu? | |
| 18.11.2009, 10:58 | Re20 | Beiträge: 380 Wohnort: München, Berlin Registriert: Apr 2009
Themenautor/in
| mh ..
also ich dispatch den Event openFilesystem in meiner PlayListView
in der EventMap wird dann die methode openFileSystem in PlayListManager aufgerufen..
ich erezuge ein neues Fiele -> wenn welche selected werden wird loadFies aufgerufen.
In dieser Methode geschiet dan folgendes
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | public function loadFiles(files:Array):void
{
var file:File;
trace(file+"----------------------------------------------------------loadFiles()")
selectedFileCount = 0;
for (var i:uint = 0; i < files.length; i++)
{
file = files[i];
selectedFileCount++;
trace (selectedFileCount +"-------------------------selectedFileCount------loadFiles()");
}
index = -1;
for(var j:uint = 0; j < files.length; j++)
{
file = files[j];
trace(files[j]+"------------------------------files[j]---loadFiles");
sound = new Sound(new URLRequest(file.url));
sound.addEventListener(Event.ID3, ID3Event);
trace (sound +"----------------------------------in loadFiles()")
index++;
trace(index + "-------------index-------------------for--------loadFiles");
}
}
|
aber hier fällt mir jetzt auch nix auf warum er ID3Event 2 mal aufruft ich erezuge ein neus sound Obj und fülle es wenn mehrere Files augewählt wurden
wird jetz nur ein file ausgewählt muss er ja die vor schleife nur 1mal durchlaufen....
aber anscheinend läuft er diese 2mal durch denn ID3Event wird ja 2mal aufgerufen...........Die Lösung ist: das Suchen.
LongCrew = 2 people | |
| | | nicht sichtbar bei eingeloggten Mitgliedern | 
|
| 18.11.2009, 11:18 | Re21 | Beiträge: 5285 Wohnort: Bernau (bei
Berlin) Registriert: Nov 2002
| Entferne mal den ID3-Listener in der Funktion ID3Event:
ActionScript:| 1 | sound.removeEventListener(Event.ID3, ID3Event);
|
| |
| 18.11.2009, 11:22 | Re22 | Beiträge: 380 Wohnort: München, Berlin Registriert: Apr 2009
Themenautor/in
| mensch genau das wars...ich hatte schon mal in nen früheren proj probs mit den remove/add EventListener
aber ich habe es mal wieder total vergessen das man hier auch immer einen EventL removen solle......
danke nochmal;)Die Lösung ist: das Suchen.
LongCrew = 2 people | |
| 18.11.2009, 11:23 | Re23 | Beiträge: 5285 Wohnort: Bernau (bei
Berlin) Registriert: Nov 2002
| Erklärt zwar dennoch nicht, warum die Funktion zweimal aufgerufen wird, das Soundobjekt muss ja aus irgendeinem Grund das Event zweimal dispatchen. Aber wenn es jetzt funktioniert soll es so erstmal reichen. | |
| 18.11.2009, 11:27 | Re24 | Beiträge: 380 Wohnort: München, Berlin Registriert: Apr 2009
Themenautor/in
| ja hauptsache es funkt erst mal, aber ich schaue mir das nochmal genau an warum es 2mal dispatch wird....weil ich das auch komisch finde...was hab ich da nur wieder zusammengecoded;)
ich meld mich wieder falls ich jemals drauf kommen soll...
danke nochmalDie Lösung ist: das Suchen.
LongCrew = 2 people | |
| | Themen Ähnliche Beiträge zum Thema | 02.11.2009 - longCrew 24.02.2010 - buerolersch 16.11.2009 - longCrew 19.11.2009 - longCrew |
|
Flashhilfe.de Flash Platform Tipps & Tutorials Flash Platform Andere Programmiersprachen Jobangebote Diskussionen
Flashhilfe News 
Regeln & Bedingungen
|