vielleicht kanns jemand gebrauchen ....oder wenn es schon gepostet wurde, bitte mein beitrag löschen...
ein bsp wie man das volume der sound klasse fadet mit hilfe der tween klase ....vorteil:....man kann das easing package von flash nutzen...und nun das simple bsp.......
PHP-Code:
// importieren der Tween Klasse
import mx.transitions.Tween;
// impotieren des easin packages
import mx.transitions.easing.*;
//die Variable snd deklarieren unde der Variable die Sound Klasse zuweisen
var snd:Sound = new Sound(this);
// eine mp3 laden (stream)
snd.loadSound("songs/01 - Titel 1.mp3", true);
// fadeVolume(SoundObject,easing,time,useSeconds,callBack)
function fadeVolume(soundObj:Sound, vol:Number, easing:Function, time:Number, useSeconds:Boolean, callBack:Function):Void {
// Object erschaffen
var fade:Object = {};
// Tween Klasse verwenden
var tween:Tween = new Tween(fade, "volume", easing, soundObj.getVolume(), vol, time, useSeconds);
// Schleife der Tween Klasse erzeugen mit dem Handler "onMotionChanged" der Tween Klasse
tween.onMotionChanged = function() {
// der Methode Sound.setVolume den Wert des fade Objectes zuweisen
soundObj.setVolume(fade.volume);
};
// wird aufgerufen, wenn der Tween zu Ende ist
tween.onMotionFinished = function() {
// callBack Funcion die aufgerufen wird, wenn der Tween zu Ende ist
callBack();
};
}
// callBack Function erstellen
function fadeEnd() {
trace("Fade Ende");
}
// Aufruf
onMouseDown = function () {
fadeVolume(snd, 0, Strong.easeOut, 100, false, fadeEnd);
};
onMouseUp = function () {
fadeVolume(snd, 100, Strong.easeOut, 100, false, fadeEnd);
};
code kompakt:
PHP-Code:
import mx.transitions.Tween;
import mx.transitions.easing.*;
var snd:Sound = new Sound(this);
snd.loadSound("songs/01 - Titel 1.mp3", true);
function fadeVolume(soundObj:Sound, vol:Number, easing:Function, time:Number, useSeconds:Boolean, callBack:Function):Void {
var fade:Object = {};
var tween:Tween = new Tween(fade, "volume", easing, soundObj.getVolume(), vol, time, useSeconds);
tween.onMotionChanged = function() {
soundObj.setVolume(fade.volume);
};
tween.onMotionFinished = function() {
callBack();
};
}
function fadeEnd() {
trace("Fade Ende");
}
onMouseDown = function () {
fadeVolume(snd, 0, Strong.easeOut, 100, false, fadeEnd);
};
onMouseUp = function () {
fadeVolume(snd, 100, Strong.easeOut, 100, false, fadeEnd);
};