Lautstärke auslesen, und Regler setzen.

rotekiste

Mitglied
Abend. Ich hab ein Script gebaut das die Lautstärke regelt (Schieberegler).
Der Regler funktioniert folgendermaßen (Soweit geht auch alles):
PHP:
onClipEvent (load) {
 	links = this._x;
 	oben = this._y;
 	rechts = this._x-100;
 	unten = this._y;
 }
 onClipEvent (enterFrame) {
 	_root.musik.setVolume(Math.floor(rechts-this._x));
 }

Ich will jetzt nicht lange erklären warum ich das brauche,
aber das Problem ist folgendes: Auch wenn die Lautstärke zu Anfang nicht 100% beträgt, ist der Regler ganz rechts.

Ich bräuchte also ein Script, welches die aktuelle Lautstärke ausliest, und dann den Regler entsprechend setzt. Dürfte ja nicht alzuu schwer sein, aber ich habs trotzdem nicht hinbekommen.

DANKE im Vorraus für eure Hilfe.
 
Danke erstmal Datic (du warst wie immer der schnellste ;) ).

Schuldigung, aber ich bekomms nicht gebacken,
an welcher Stelle muss ich deine Zelle einsetzen?

Ich hab es an fast allen Stellen versucht, aber immer hat irgendwas nicht geklappt.

DANKE
 
Hab ich mir auch so gedacht, und es hat auch geklappt,
bloß das der Regler (inklusive Lautstärke) da anfangs immer auf 0 Steht.

Dann hab Ich versucht aus "rechts = this._x-100;" --> "rechts = this._x;"
bzw. "rechts = this._x+100; zu machen. Beim zweiten Versuch war der Regler an der richtigen Stelle, aber er lies sich nicht verschieben, und somit konnte mann auch nicht die Lautstärke ändern.

Muss ich zusätzlich vielleicht bei
PHP:
    _root.musik.setVolume(Math.floor(rechts-this._x));
noch was umändern (rechts-this._x+100 oder so) ?

Danke Datic für deine Geduld.
 
Hi,

so müsste es gehen:
PHP:
 onClipEvent (load) {
    links = this._x;
    oben = this._y;
    rechts = this._x + 100;
    unten = this._y;
	trace(_root.musik.getVolume());
	this._x = Math.floor(rechts - _root.musik.getVolume()); 
}

onClipEvent (enterFrame) {
    _root.musik.setVolume(Math.floor(rechts - this._x));
	trace(_root.musik.getVolume());
}

on(press) {
	this.startDrag(false, links, oben, rechts, unten);
}

on(release, releaseOutside) {
   this.stopDrag();
}

Gruß
.
 
VERZWEIFLUNG MACHT SICH BREIT...

Ich häng jetzt mal die .fla an (Flash MX), dann siehst du das Problem.
'Hab sie von allen unnötigen Zeugs befreit (Auch die MP3 gegen eine kleinere getauscht).
Bei dem Regler gehts mir darum, dass er in mehreren Szenen eingesetzt werden muss.

Er muss also die Lautstärke der MP3 auslesen, und sich danach ausrichten (Wenn man die Lautstärke in der 1. Szene verstellt hat und dann in die nächste Sz. geht muss der Regler an seiner Position bleiben.

Ich weis Szenen sind Mist, usw. usw. Ist jetzt aber zu spät zum umstellen.

DANKE an Datic (und natürlich den Rest der Welt)
 

Anhänge

  • regler.zip
    162,1 KB · Aufrufe: 30
Hi,

1. Dein Regler beginnt bereits im ersten Frame; der Sound wird aber erst im zweiten Schlüsselbild erstellt. Darum kann auch die Lautstärke nicht ausgelesen werden.

Lösung: Verschiebe das erste Schlüsselbild der Ebene "regler" ein wenig nach hinten, z.B. auf Frame 3!

2. Du solltest einem neuen Sound immer ein Objekt zuweisen, schreibe also z.B.:
PHP:
musik = new Sound(this);
musik.attachSound("titel1");
musik.setVolume(50);
// Hier kannst Du dem Lied schon eine Anfangslautstärke geben
musik.start();

3. Du hast Dich ein wenig mit "links" und "rechts" vertan: Bei Dir liegt "rechts" links von "links" ( ;) ) und der Regler damit weit neben der horizontalen Linie. Schreibe:
PHP:
 onClipEvent (load) {
    rechts = this._x;
    oben = this._y;
    links = this._x - 100;
    unten = this._y;
    this._x = Math.floor(links + _root.musik.getVolume());
}

onClipEvent (enterFrame) {
    _root.musik.setVolume(Math.floor(this._x - links));
}

on(press) {
    this.startDrag(false, links, oben, rechts, unten);
}

on(release, releaseOutside) {
   this.stopDrag();
}

Gruß
.
 
Zurück