getreidemuehlen
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Bewertung: Bewertung: 1 Stimmen, 5,00 durchschnittlich.
Alt 31.07.2005, 17:40   #1
TP-Member
 
Benutzerbild von Nikodemus
 
Registriert seit: Aug 2001
Ort: München
Nikodemus macht alles soweit korrekt

globale soundsteuerung


Hallo zusammen,

komm einfach nicht weiter. Mein Problem:
Das ganze ist eine offline Päsentation. Ich habe einen Hauptfilm in dem Einzelne swfs geladen werden...nacheinander immer nur eine swf.

Der Hauptfilm hat einen Backroundsound der sich kontinuierlich als loop abspielt. In den einzelnen swfs wird mit einem sound object eine audio datei erzeugt. Ein Sprecher.

Aus dem Hauptfilm heraus soll nun das Audio von den Sprecherdateien und der Backroundsound global und seperat steuerbar sein.

Für den Sprecher liegt in der swf dieses as:
PHP-Code:
_global.sndSprecher = new Sound(this); 
sndSprecher.attachSound('sprecher'); 
sndSprecher.start(00); 
sndSprecher.setVolume(70); 
auf dem button im Hauptfilm:
PHP-Code:
btSprecherVolume.onRelease = function() { 
    
sndSprecher.setVolume(100); 
}; 
und im Hauptfilm dieses as:
PHP-Code:
var sndSprecher:Sound = new Sound(this); 
sndSprecher.attachSound('ELF_2_1'); 


function 
fncSetSprecherVolume(val:Number) { 
    
sndSprecher.setVolume(val); 

 
fncSetSprecherVolume(100); 
ich kann nun den sprecher ausschalten...bekomme ihn jedoch nicht mehr an!

Bin um jede Hilfe dankbar!!
__________________
-------------------------
www.3-sprung.de
-------------------------
Nikodemus ist offline   Mit Zitat antworten


Alt 31.07.2005, 21:26   #2
TP-Member
 
Benutzerbild von Nikodemus
 
Registriert seit: Aug 2001
Ort: München
Nikodemus macht alles soweit korrekt
keiner eine Idee?
__________________
-------------------------
www.3-sprung.de
-------------------------
Nikodemus ist offline   Mit Zitat antworten
Alt 01.08.2005, 02:43   #3
TP-Urgestein
 
Benutzerbild von webcreate
 
Registriert seit: Nov 2003
Ort: NRW
webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts
Poste es doch mal gezippt. Habe nicht gerade Lust hier immer wieder Codeschnippsel zusammen zu bauen.
__________________
Gruß Mark
Mein Blog zum TP || XING Profil || grafiker.de Profil || How to use GOOGLE || PS Kniffe
emCalculator 1.0



webcreate IT SOLUTIONS
www.webcreate-nrw.de
webcreate ist offline   Mit Zitat antworten
Alt 01.08.2005, 09:42   #4
TP-Member
 
Benutzerbild von Nikodemus
 
Registriert seit: Aug 2001
Ort: München
Nikodemus macht alles soweit korrekt
hey Mark

danke das du dir es anschauen willst...bin so langsam ziemlich am verzweifeln da ich nichts finde wie ich es lösen kann.

Zum Verständnis.
Viel mehr reduzieren konnte ich die dateien nicht da sie sonst nicht mehr funktionieren. Es ist eine Offline CD-Präsentation.

Start.exe -> Der Projektor
terminal.swf -> Auswahlmenu
preloader.swf -> gefakter Preloader
auto.swf -> der automatisch durchlaufende Vortrag
auto/f01.swf -> die einzelnen swfs werden in die auto.swf geladen


in der auto.swf wird ein hintergrundsound geladen den ich von da aus steuere.
Funktioniert alles. in der einzelnen swfs also f01.swf f02.swf etc...befinden sich audio dateien die einen sprecher enthalten. und die sollen global aus der auto.swf gesteuert werden...bzw an und ausschlatbar sein. Und hier häng ich.

Ich muß die dateien splitten da es sonst zu performance problemen führt.
Hab die daten hier hochgeladen allerdings ohne die sounddateien da es sonst zu groß wird.

Daten

Hoffe du kannst mir helfen da ich schon am verzweifeln bin!
__________________
-------------------------
www.3-sprung.de
-------------------------
Nikodemus ist offline   Mit Zitat antworten
Alt 01.08.2005, 12:43   #5
TP-Urgestein
 
Benutzerbild von webcreate
 
Registriert seit: Nov 2003
Ort: NRW
webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts
Zitat:
Zitat von Nikodemus
Start.exe -> Der Projektor
terminal.swf -> Auswahlmenu
preloader.swf -> gefakter Preloader
auto.swf -> der automatisch durchlaufende Vortrag
auto/f01.swf -> die einzelnen swfs werden in die auto.swf geladen

in der auto.swf wird ein hintergrundsound geladen den ich von da aus steuere.
Funktioniert alles. in der einzelnen swfs also f01.swf f02.swf etc...befinden sich audio dateien die einen sprecher enthalten. und die sollen global aus der auto.swf gesteuert werden...bzw an und ausschlatbar sein. Und hier häng ich.
OK, das mit den Sounds sollte nicht das Problem sein, aber....
Wo ist da eine Steuerung?
Ich sehe da keine, einzig und alleine "Test" steht dort aus der auto/f01.swf.
So ganz verstehe ich das System noch nicht, erklär es doch nochmals...

EDIT:
hast Du die start.fla auch mal da, dann kann man sinnvoller debuggen
__________________
Gruß Mark
Mein Blog zum TP || XING Profil || grafiker.de Profil || How to use GOOGLE || PS Kniffe
emCalculator 1.0



webcreate IT SOLUTIONS
www.webcreate-nrw.de

Geändert von webcreate (01.08.2005 um 12:54 Uhr).
webcreate ist offline   Mit Zitat antworten
Alt 01.08.2005, 13:17   #6
TP-Member
 
Benutzerbild von Nikodemus
 
Registriert seit: Aug 2001
Ort: München
Nikodemus macht alles soweit korrekt
Hi Mark

Also das ist die automatisch durchlaufende Präsentation.
Die Steuerung funktioniert mit dem Script:

PHP-Code:
//alles auf Frame 1 der Hauptzeitleiste 
_global.meineFilmliste = new Array("auto/f01.swf","auto/fakten.swf","auto/f02.swf","auto/f03.swf","auto/f04.swf","auto/f05.swf","auto/f06.swf","auto/f07.swf","auto/f08.swf","auto/f09.swf","auto/f10.swf","auto/f11.swf","auto/umsatz.swf","auto/f12.swf","auto/f13.swf","auto/f14.swf","auto/zielgruppen.swf","auto/f15.swf","auto/f16.swf","auto/f17.swf","auto/f18.swf","auto/f19.swf","auto/argumente.swf","auto/f20.swf","auto/f21.swf","auto/f22.swf","auto/f23.swf","auto/f24.swf","auto/f25.swf","auto/f26.swf","auto/f27.swf","auto/f28.swf","auto/f29.swf","auto/f30.swf","auto/f31.swf","auto/f32.swf","auto/f33.swf","auto/f34.swf","auto/f35.swf","auto/erfolg.swf","auto/f36.swf","auto/f37.swf","auto/f38.swf","auto/f39.swf","auto/f61.swf","auto/f41.swf","auto/f40.swf","auto/f60.swf","auto/f42.swf","auto/f43.swf","auto/f44.swf","auto.swf");//etc 
_global.meinZaehler 0;//Indexzähler setzen 


function neu(){ 
   
_level10.con.removeMovieClip();//MC falls vorhanden löschen 
   
_level10.onEnterFrame = function(){//einen Framewechsel erzwingen weil Flash auf dem selben Frame nicht gerne einen MC löscht und gleich wieder erstellt 
      
delete _level10.onEnterFrame;//kann sofort wieder gelöscht werden 
     
_level10.createEmptyMovieClip("con",1);//leeren MC erstellen 
      
_level10.con.loadMovie(_global.meineFilmliste[_global.meinZaehler]);//und in diesen MC einen externen Film nachladen 
      
if( _global.meinZaehler == _global.meineFilmliste.length){//wenn alle Filme abgespielt wurden... 
         
_global.meinZaehler 0;//wieder von vorne abspielen 
      

      else{ 
         
_global.meinZaehler++;//für den nächsten Film den Zähler erhöhen 
      

   } 


_level10.neu();//diesen Befehl auch in den letzten Frame jedes nachgeladenen Filmes setzen! 
this.stop();

var 
keyListener = new Object();
    
keyListener.onKeyDown = function () {

        if (
Key.isDown(40)) { 
            
// Down
            
Key.removeListener(keyListener);
            
loadMovieNum("terminal.swf"10);
        } 
    }
    
Key.addListener(keyListener); 
Die start.fla ist eigentlich nur der Behälter und für den Projektor.


Ich habs mittlerweile so gelöst:
Dieses AS in der auto.fla
[php]
var sndMusic:Sound = new Sound(this);
sndMusic.attachSound('EFL');


function fncSetMusicVolume(val:Number) {
sndMusic.setVolume(val);

}
// ---------------------------------------------

fncSetMusicVolume(100);

btSprecherVolume.onRelease = function() {
volume = sndMusic.getVolume ()
if (volume >= 100) {//if braucht IMMER 2 ==
_global.sndMusic.setVolume(0);
fncSetMusicVolume(0);
} else if (volume <= 0) {
_global.sndMusic.setVolume(100);
fncSetMusicVolume(100);
}
};

Dieses in der f01.fla

PHP-Code:
_global.sndMusic = new Sound(this); 
_global.sndMusic.attachSound('EFL'); 
_global.sndMusic.start(00); 
_global.sndMusic.setVolume(100); 
allerdings wird in der auto.fla noch der hintergrundsound geladen durch:

PHP-Code:
_global.sndSprecher = new Sound(this);
_global.sndSprecher.attachSound("musik");
_global.sndSprecher.start(00);
_global.sndSprecher.setVolume(70);
_global.sndSprecherPlaying true;


btMusikVolume.onRelease = function() {
        
aktPosition = (_global.sndSprecher.position/1000);
        if (
_global.sndSprecherPlaying == true) {//if braucht IMMER 2 ==
                
_global.sndSprecher.stop();
                
_global.sndSprecherPlaying false;//_global
        
} else {
                
_global.sndSprecher.start(aktPosition1);
                
_global.sndSprecherPlaying true;//_global
        
}
}; 
und wenn ich den button für die sprechersound drücke...wirkt sich das auch auf den Hintergrundsound aus???

Sind doch aber zwei unterschiedliche sound objekte?!
__________________
-------------------------
www.3-sprung.de
-------------------------
Nikodemus ist offline   Mit Zitat antworten
Alt 01.08.2005, 13:59   #7
TP-Urgestein
 
Benutzerbild von webcreate
 
Registriert seit: Nov 2003
Ort: NRW
webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts
Löse dich mal vom Abstrakten....
Beschreibe mir mal ohne Code, was denn nun genau passieren soll.

Ich habe bis dato folgendes:
Im Terminal wähle ich "Automatische...."
Dann wird die auto.swf eingeladen und der BG-Sound läuft. die auto/f01.swf wird geladen (Anhang wird ausgegeben) nach Ablauf von 11.2 Sec der f01.swf wird die auto/fakten.swf geladen und für 5.9 Sec abgespielt. danach wieder die f01.swf usw.
Die einzige Steuerung die ich habe ist der Lautsprecher (Anhang).
Bei klick auf diesen stop bzw. startete wieder der BG-Sound, die anderen Sounds (SWFs) werden weiterhin in einer Schleife (nach dem Array) abgespielt.

So, das ist es, was ich nun hier habe.
Und wie soll es nun sein?
Also nur textuell beschreiben, Code brauch in nun erstmal nicht, der liegt mir ja vor.

EDIT:
Anhang???
-Ja, den habe ich vergessen
Miniaturansicht angehängter Grafiken
globale-soundsteuerung-ausgabe.jpg  
__________________
Gruß Mark
Mein Blog zum TP || XING Profil || grafiker.de Profil || How to use GOOGLE || PS Kniffe
emCalculator 1.0



webcreate IT SOLUTIONS
www.webcreate-nrw.de

Geändert von webcreate (01.08.2005 um 14:13 Uhr).
webcreate ist offline   Mit Zitat antworten
Alt 01.08.2005, 14:18   #8
TP-Member
 
Benutzerbild von Nikodemus
 
Registriert seit: Aug 2001
Ort: München
Nikodemus macht alles soweit korrekt
ok

also das ist genau richtig...in der ganzen presentation werden dann natürlich f01.swf f02.swf f03.swf....etc geladen in der sich compositings aus AfterEffects befinden und text. Dazu (das habe ich nicht mitgeschickt da zu groß) wird in jeder der swfs als z.B f01.swf ein sound objekt erzeugt. Es ist ein Sprecher der den Text vorließt. Und um diesen geht es mir. Den will ich genau so wie den Backround sound global steuern. Dabei hatte ich das Problem das ich das nicht per start und stop machen kann da sobal die f02.swf geladen wird der sprecher sound von dieser swf startete egal ob ich nun in der f01.swf an oder aus gedrückt habe.

habe das nun mit der if abfrage über das volume gelöst aber hab nun das problem der dieses as auch den backroundsound beeinflußt und diese sollen unabhängig voneinander steuerbar sein.
__________________
-------------------------
www.3-sprung.de
-------------------------
Nikodemus ist offline   Mit Zitat antworten
Alt 01.08.2005, 20:41   #9
TP-Urgestein
 
Benutzerbild von webcreate
 
Registriert seit: Nov 2003
Ort: NRW
webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts
So, nun wollen wir mal.

Ich habe den Code mal etwas sortiert und ausgedünnt.
Das Problem war, dass Du alle Sound-Objekte mit this lädst und somit alle einer Zeitleiste zugeordnet sind.
setVolume greift dann auf alle Sounds zu.

Nun ist es so, dass beim Starten der Hintergrundsound im Loop mit Volume=70 gespielt wird und mit klick auf den Button das Volume auf 0 geht (der Sound läuft allerdings weiter!).
Wenn man nun wieder auf den Button klickt, dann wird das Volume wieder auf 70 gestellt.
Gleichzeitig wird der erste Sprecher geladen und mit Volume=100 abgespielt.
Klickt man nun auf den Button wird der Sound und das Movie angehalten.
Bei erneutem Klick wird beides weitergespielt.
Am Ende eines Sprechers wird der nächste geladen, bis alle Array-Elemente (Sprecher) durch sind, dann geht es von vorne los.

Wichtige Änderungen in der auto.swf:

Array-Def von _global.meineFilmliste:
Die auto.swf selber nicht als letztes Element eintragen! (Zeile 4)

Die if-Abfrage um den Dateizähler wieder auf 0 zu setzten sieht nun wie folgt aus:
if( _global.meinZaehler == _global.meineFilmliste.length-1) (Zeile 19)

Beim stopen und starten des Sprecher-Sounds über den Button wird auch das Movie an sich angehalten, sonst läuft der Film weiter, aber der Sprecher stoppt, damit wäre es später nicht mehr synchron.
Weiterhin; wenn man den Film nicht stopen würde, man aber den Sound stoppt und das Movie am Ende ist, würde der nächste Film geladen und dann würde der nächste Sprecher beginnen!
_level10.con.stop(); (Zeile 52)
_level10.con.play(); (Zeile 56)

Der Hintergrund-Sound wird nun einem MC zugewiesen, das zuvor erstellt wird.
this.createEmptyMovieClip("bgsound",999); (Zeile 82)
_global.sndMusic = new Sound(bgsound); (Zeile 83)


Wichtige Änderungen in den Sounddateien (fakten.swf, f01.swf, usw.):
Die Sprecher-Sounds werden nun in allen Sprecher-SWFs wie folgt geladen, also alle SoundObjekte haben den gleichen Namen, da ja immer nur ein Sound läuft.
PHP-Code:
 // Sprecher einladen und starten
_global.sndSprecher = new Sound(this);
_global.sndSprecher.attachSound("EFL");
_global.sndSprecher.start(00);
_global.sndSprecher.setVolume(100);
_global.sndSprecherPlaying true
So ich hoffe ich habe Dein Anliegen nun richtig verstanden und die Lösung ist soweit OK
Angehängte Dateien
Dateityp: zip auto.zip (461,5 KB, 13x aufgerufen)
__________________
Gruß Mark
Mein Blog zum TP || XING Profil || grafiker.de Profil || How to use GOOGLE || PS Kniffe
emCalculator 1.0



webcreate IT SOLUTIONS
www.webcreate-nrw.de
webcreate ist offline   Mit Zitat antworten
Alt 02.08.2005, 08:48   #10
TP-Member
 
Benutzerbild von Nikodemus
 
Registriert seit: Aug 2001
Ort: München
Nikodemus macht alles soweit korrekt
Hey klasse erstmal vielen Dank für deine Mühe find ich wirklich super!!

Leider hab ich es nicht ganz so gemeint.

Also klar das mit dem Hintergrundsound passt. Nur der Film sollte nicht stoppen wenn der sprecher anhält. Sprich die Animationen sollen weiter laufen nur mit Musik z.b. Deswegen dachte ich es wäre mit dem volume zu machen.

Kann ich nicht in jeder f01.swf oder f02.swf eine If Abfrage einbauen und mit get.Volume abfragen auf welchen Wert ich das sound.object im vorherigem swf gesetzt habe?

etwas so?
PHP-Code:
volume sndMusic.getVolume ()
    if (
volume == 100) {//if braucht IMMER 2 ==
                
_global.sndMusic.setVolume(100);
                
        } else if (
volume == 0) {
                
_global.sndMusic.setVolume(0);
                
        } 
funktioniert nur nicht

Wär super wenn du mir nochmal helfen könntest
__________________
-------------------------
www.3-sprung.de
-------------------------
Nikodemus ist offline   Mit Zitat antworten
Alt 02.08.2005, 13:18   #11
TP-Urgestein
 
Benutzerbild von webcreate
 
Registriert seit: Nov 2003
Ort: NRW
webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts
Na gut, dann stoppen wir den Sprecher nicht, sondern drehen auch bei ihm nur das Volume auf 0 bzw. 100

So Änderungen bedarf es nur in der auto.swf in den entsprechenden Teilen:
PHP-Code:
// ********************** Def. von Funktionen & Objekten **********************

// Lautstärken Function
function fncSetMusicVolume(soundmc:Stringval:Number) { 
    
_global[soundmc].setVolume(val); 



// ********************** Buttonfunktionen **********************

// Buttonaktion für den Sprecher
btSprecherVolume.onRelease = function() {
        if (
_global.sndSprecherPlaying == true) {//if braucht IMMER 2 ==
                
_global.sndSprecherPlaying false;//_global
                
fncSetMusicVolume("sndSprecher"0);
        } else {
                
_global.sndSprecherPlaying true;//_global
                
fncSetMusicVolume("sndSprecher"100);
        }
};

// Buttonaktion für den Hintergrundsound