[MX] Sound problem

x_Red_Eagle_x

Erfahrenes Mitglied
also ich hab mir in einem mc ein paar fkt zusammen gebastelt, hier mal 2 davon damit dass prinzipt klarer wird:
Code:
function initialSound()
{
	isSound=true;
	step=10;
	lastPosition=0;
	soundfile=new Sound();
	//initialisieren von soundobjekt
	soundfile.attachSound(_global.musicFile);
}
//startet sound
function startSound()
{
	soundfile.start(lastPosition,999999);
	this.onEnterFrame = function()
	{
		volume=soundfile.getVolume();
		if( volume <= 100 )
		{
			soundfile.setVolume(volume+step);
		}
		else
		{
			return;
		}
	}
}

habe dieses mc im ersten frame liegen -> und rufe auch im ersten frame die 2 funktionen auf -> jedoch tut sich nix -> mit einem trace über den aufruf:
trace(mc.initialSound()) sagt er nur "undefined"
ich nehme mal an dass es dass mc sound noch nicht existiert und deswegen die funktion nicht gefunden wird -> dass problem ist dass bei mir alles nur in dem ersten frame geschieht

hat jemand eine idee
(danke fürs lesen schon im vorhinein)
 
Das Soundobjekt sollte immer einer konkreten Zeitleiste zugewiesen werden:
soundfile=new Sound(this)

Oder auch soundfile=new Sound(irgendeinezeitleisteoderinstanz) ...
Ansonsten landet das Soundobjekt auf _level0, also Hauptzeileiste des Basisfilms und dahin führt ja dein Pfad in der Steuerung nicht.

Gruß
Rena
 
hab das gerade ausprobiert jedoch mit dem selben ergebnis wie vorher -> es schaut so aus als würde er der mc noch nicht mal existieren, dass ergebnis ist wie vorher -> wenn ich mit einem trace(mcSoundsteuerung.initialSound()); gibt er undefined zurück
 
Hmmm ... wenn du meinst dass es daran liegt, dass der MC noch nicht existiert, dann verschieb mal die Ebenen oder ändere unter Menü Datei -> Einstellungen für Veröffentlichungen -> Register Flash die Ladereihenfolge (standardmäßig von unten nach oben).

Ansonsten poste mal ein Beispiel mit einem Drei-Sekunden-Sound und nichts drin ausser dem Problem. Sollte dann von der maximalen Größe für Anhänge hier passen. :)

Guß
Rena

PS: Hat dir schonmal jemand gesagt, dass deiner Tastatur die Shift-Taste fehlt? ;)
Schau doch mal in den getoppten Thread hier im Board mit dem Titel "Bitte beachtet die Netiquette": Danke. :)
 
Zuerst möchte ich mich entschuldigen -> für die Böse schreibweise oben :rolleyes:

Des mit dem Ebenen verschieben hab i schon ausprobiert gehabt, bevor ich etwas gepostet hab (erfolglos sonst wäre der Post nicht zustande gekommen).
Der Tipp mit den Einstellungen für Veröffentlichung hat mir leider auch nicht weiter geholfen.

Das Beispiel ist unten angehängt -> Nur muss ich noch dazu sagen, dass es sein kann, dass das eigentliche Abspielen von einem Sound (falls es funktioniert) mit einem etwas lägerem besser ist, da die Lautstärke automatisch angehoben wird.

mfg
 

Anhänge

  • sound.rar
    35,5 KB · Aufrufe: 17
Ja, das scheint in derTat ein Timingproblem zu sein. HHmm ... ist mir so auch noch nie untergekommen. ;)

Ruf doch einfach initialSound() am Ende des Scripts _im_ MC auf und ergänze diese Funktion auch in der letzten Zeile mit dem Aufruf startSound(), damit die Startsound-Funktion aufgerufen wird _nachdem_ auch tatsächlich initialisiert wurde.

Gruß
Rena
 
Ich hab gerade den Quellcode an den schluss verschoben, jedoch ohne Erfolg.

Zu dem dass initalSound() + startSound() getrennt ist (und nicht im initalSound() startSound() aufgerufen wir), das ist absicht. Damit da eine klare Trennung und Strukurierung vorherrscht. (Aber dies nur nebenbei, habs aber auch ausprobiert)

noch welche Vorschläge (schön langsam wird es für mich nämlich dringend, da ich mein Projekt fertig stellen muss)

mfg
 
danke für die lösung

// Ist unlogisch , muss aber hier stehen ...du hast übrigens playSound aufgerufen

-> des mit dem playSound war wahrscheinlich nur ein Flüchtigkeitsfehler beim schnell neues kleines *.fla erstellen (miese Ausrede *g*)

und die Lösung ist wirklich unlogisch aber funktioniert (hast du auch eine Erklärung dafür?)

mfg

//edit
Weil du meine Variablen weggelöscht hast -> heißt dass das Variablen nicht nur lokal Behandelt (Blockweise) sonder über das ganze Skript hinweg?
 
Zuletzt bearbeitet:
Hi -

ne, nur deine Diktion der Variablendeklaration (Kurzform) hat mich einfach irritiert, war nicht wertend gemeint.

- Flash ist an manchen Stellen einfach unlogisch, so sollte man zB meinen, das eine innerhalb eines Mc gelegene Funtion auch auf dessen onLoad Event hin registriert und bereit sein sollte, ist sie aber nicht - bei solchen Problemen einfach das räsonieren aufgeben, und die Initialaufrufe (es geht ja nur um diese) hinter den auszuführenden Codeblock stellen , fertig und Ende.....

Grüsse
B
 

Neue Beiträge

Zurück