Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 09-07-2005, 20:00   #1 (permalink)
Neuer User
 
Registriert seit: Jul 2001
Beiträge: 96
Komme an Sound nicht ran...

Hallo,

ich habe in eine SWF einen Sound geladen, die ich in einer anderen SWF per loadMovie reinlade.

Ein Button innerhalb der SWF, in der der Sound liegt spielt ihn per

this._parent.song.start(this._parent.songPosition, 0);

ab. Wenn ich die Datei abspiele funktioniert es - wenn ich die Datei, in der die SWF reingeladen wird abspiele funktioniert es nicht mehr.

Woran liegt das?

Besten Dank,

Chris
Chris1977 ist offline   Mit Zitat antworten
Alt 10-07-2005, 08:08   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Da bräuchte man mehr Infos, z.B. wie du das Soundobjekt erstellt hast etc.

Grundsätzlich sollte es so funzen:
ActionScript:
  1. meinSound = new Sound(this);//neues Soundobjekt instanziieren
  2. meinSound.loadSound("mein.mp3",1);//Sound nachladen
  3.  
  4. this.meineButtonInstanz.onRelease = function(){//nach Klick
  5.    meinSound.start(0,1);//von Anfang an einmal abspielen
  6. }
  Mit Zitat antworten
Alt 10-07-2005, 10:37   #3 (permalink)
Neuer User
 
Registriert seit: Jul 2001
Beiträge: 96
Das hier ist in meiner reingeladenen SWF:
ActionScript:
  1. _root.song = new Sound();
  2. _root.song.attachSound("klone");
  3. _root.song.stop(); /* Hier ist sehr komisch, dass ich, wenn ich das stop() weglasse der Film abgespielt wird aber mit start() nicht wieder aufgerufen wreden kann???*/
  4. _root.songStarted = 0;
  5. songVolume = 50;
  6. _root.song.setVolume(songVolume);
  7. _root.txtpos = 1;
  8. this.setSliderFalse();
  9. this.slider_blank_btn._visible = false;
  10. function setSliderTrue(){
  11.     this.slider._visible = true;
  12.     this.base._visible = true;
  13.     this.base2._visible = true;
  14. }
  15.  
  16. function setSliderFalse(){
  17.     this.slider_blank_btn._visible = false;
  18.     this.slider._visible = false;
  19.     this.base._visible = false;
  20.     this.base2._visible = false;
  21. }

und hier möchte ich abspielen (per btn):
ActionScript:
  1. on (press) {
  2.     trace(_root.songStarted);
  3.     if (_root.songStarted == 0) {
  4. //    trace("this._parent.songPosition" + this._parent.songPosition);
  5.         //this._parent.song.start(this._parent.songPosition, 0);
  6.         _root.song.start();
  7.         _root.songStarted = 1;
  8.         trace("song started");
  9.     }
  10. }
trace("song started") wird mir ausgegeben..
Hier lade ich die swf rein:
ActionScript:
  1. if (_root.init ==false){
  2.     _root.hierrein.loadMovie("poetry_clip7.swf");
  3.     _root.init = true;
  4.     }
  5. else{
  6.     banner.gotoAndStop("Ende");
  7.     }

Besten Dank - ich bin gerade voll am verzweifeln...

Geändert von Chris1977 (10-07-2005 um 10:42 Uhr)
Chris1977 ist offline   Mit Zitat antworten
Alt 10-07-2005, 11:59   #4 (permalink)
Der Wunderhund
 
Benutzerbild von gaspode
 
Registriert seit: Jun 2002
Ort: Hattingen
Beiträge: 10.515
ließ mal das, vielleicht hilfts ja:

Sound(objekt) macht Probleme, wenn die Swf hinzugeladen wird oder bei mehreren Sounds

ActionScript:
  1. _root.song = new Sound(); <-- und hier solltest du ein ziel angeben
im link wird das auch nochmal näher beschrieben.

gruß, gaspode
gaspode ist offline   Mit Zitat antworten
Alt 10-07-2005, 14:26   #5 (permalink)
Co&Bold
 
Benutzerbild von Cysign
 
Registriert seit: Nov 2004
Ort: Troisdorf (bei Köln)
Beiträge: 170
wenn ich dich richtig verstanden habe, liegt der sound in einer swf, die in eine andere hineingeladen wird.
aber du versuchst ihn mit root anzusprechen, richtig?

war das nicht so, dass root auf die hauptzeitleiste zugreift?
also wenn du im attachten MC root ansprichst, greift er auf die hauptzeitleiste des übergeordneten movies zu, also das, in das dein MC attached wurde...

so hab ich das jedenfalls mal von agedoubleju verstanden...
__________________
Friede!
Cysign ist offline   Mit Zitat antworten
Alt 10-07-2005, 14:28   #6 (permalink)
Co&Bold
 
Benutzerbild von Cysign
 
Registriert seit: Nov 2004
Ort: Troisdorf (bei Köln)
Beiträge: 170
ActionScript:
  1. _root.song = new Sound();
  2. _root.song.attachSound("klone");
  3. _root.song.stop();
  4. _root.songStarted = 0;
  5. songVolume = 50;
  6. _root.song.setVolume(songVolume);
  7. ...

aso, ich würd mal versuchen alla Was ist elleganter?
das script von der punktsyntax auf die with-schreibweise umzuschreiben...is dann glaub ich etwas übersichtlicher
__________________
Friede!

Geändert von Cysign (10-07-2005 um 18:53 Uhr)
Cysign ist offline   Mit Zitat antworten
Alt 10-07-2005, 22:24   #7 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Um es noch mal zusammenzufassen: ein neuer Sound benötigt beim Instanziieren in der Parameterliste als Ziel eine Zeitleiste, also meinSound = new Sound(this) bspw.

Und "_root" als Pfadangabe ist sehr gefährlich, weil das immer auf die aktuelle Hauptzeitleiste zeigt, d.h. wenn der Film in einen anderen Film eingebettet wird, zeigt es auf die Hauptzeitleiste des "Container"-Filmes und die Objektpfade stimmen evtl nicht mehr.

Also besser relative Pfadangaben wie this._parent etc nutzen oder mit Pfadreferenzen wie z.B. _global.Objektpfad = this; arbeiten, um dann mit _global.Objektpfad von allen anderen Zeitleisten auf diese Zeitleiste zugreifen zu können.
  Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 20:31 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele