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
Quien me puede ayudar con esto?
Tengo este codigo en AS3 y funciona perfecto, puesto que cumple con lo que le pido: reproducir el sonido de mi radio online...
//inicia el codigo
var url:String = "http://miradio.net:8000/;";
var request:URLRequest = new URLRequest(url);
var mp3:Sound = new Sound(request);
mp3.play();
//fin del codigo
La próxima sería mejor posteee en otro foro, no sobre un tip. Pero de todas formas, ¿No entiendes el código verdad? Porque sino haces solo:
Código :
var snd:Sound = new Sound();
snd.load(new URLRequest("1.mp3"));
var soundCHNL:SoundChannel = new SoundChannel();
soundCHNL = snd.play();
var soundTrans:SoundTransform = new SoundTransform();
soundTrans.volume-= .1 ;
soundCHNL.soundTransform = soundTrans;