Este es un tip fácil de como controlar el volumen dentro de un objeto Sound usando Actionscript 3 y el SoundTransform.
Código :
package {
import flash.display.Sprite;
import flash.net.URLRequest;
import flash.media.Sound;
import flash.media.SoundTransform;
import flash.media.SoundLoaderContext;
import flash.media.SoundChannel;
//--------------------------
public class Sonido extends Sprite {
private var soundObject:Sound;
private var channel:SoundChannel;
private var url:URLRequest;
private var buffer:SoundLoaderContext;
private var init:Number;
private var loop:Number;
//----------------------
public function Sonido(Value_URL:String, Value_Buffer:Number, Value_Init:Number, Value_Loop:Number) {
url = new URLRequest(Value_URL);
buffer = new SoundLoaderContext(Value_Buffer*1000);
soundObject = new Sound(url, buffer);
channel = soundObject.play(Value_Init, Value_Loop);
}
public function setVolume(vol:Number) {
var transform:SoundTransform = channel.soundTransform;
transform.volume = vol ;
channel.soundTransform = transform;
}
}
}
Básicamente cuando damos play, usamos Channel para asignarle un identificador y luego creamos la función setVolume() asignando al Channel el objeto Sound Transform, para controlar en este caso el Volumen.
Un poco más de explicación del código o un ejemplo de como implementarlo no le hubiese venido mal al tip
Si, de hecho esta basado en ese, pasa que el control del volume no solo no es fácil para migrar de AS 2 a 3, sino que si le das F1 al flash, verás que te indica como una método y no propiedad el volume (Fuckers).
Muy buen aporte la clase de música, muy fácil y práctica Por:Hernán
mmmm pero no explicas mucho como hacerlo solo tiras el codigo y ya! Por:ptala-blog