Flash CS3. Canales de sonido en ActionScript 3

Se trata de un ejemplo en el que controlamos dos sonidos en estereo independientemente, tanto el volumen como el balance izquierdo-derecho.

Sonido en Flash CS3

Ver ejemplo >>

Descargar código fuente (Archivo Fla y código) >>



11 Commentarios

  1. Gabriel on 5th Octubre, 2009

    Hola, estuve checando y de hecho descargue el fuente de “Canales de sonido en AS3″, le hice una pequeña modificacion recuperando no un sonido local sino una ip adress de radio y funciona muy bien, pero, tengo una pequeña duda que espero que me ayuden a resolver.

    public function Sonido(){

    sonidoPrincipal = new Sound();
    sonidoPrincipal.load(new URLRequest (”http://estelarisradio.net:8078/;”));
    canalPrincipal = new SoundChannel();
    new SoundChannel.play = true;
    sonidoFondo = new Sound();
    sonidoFondo.load(new URLRequest(”my back.mp3″));
    canalFondo = new SoundChannel();

    carguè la url de shoutcast radio en el archivo Sonido.as, y al pulsar el boton Play de la interfase funciona perfecto, tanto la url de shoutcast como un sonido adicional que agreguè (un promo de la web)…

    Còmo harias para que el SonidoPrincipal cargue sin necesidad de presionar el boton play?…es esto posible?, por favor contactame, vale?

    Gracias

  2. Luis Estevez on 5th Octubre, 2009

    Hola, Gabriel:

    Bastaría con añadir:

    canalPrincipal = sonidoPrincipal.play();
    playPrincipal = true;

    La variable playPrincipal es conveniente ponerla a true, ya que controla si el canal está reproduciendo algún sonido.

    Un saludo.

  3. Gabriel on 7th Octubre, 2009

    Esa parte quedò asi:

    public function Sonido(){

    sonidoPrincipal = new Sound();
    sonidoPrincipal.load(new URLRequest
    (”http://estelarisradio.net:8078/;”));
    canalPrincipal = new SoundChannel();
    new SoundChannel.play = true;
    canalPrincipal = sonidoPrincipal.play();
    playPrincipal = true;

    Y luego el resto del codigo…Reacciòn: No funca a menos que presione el boton Play!

    Agradecerè ayuda!.

  4. Gabriel on 9th Noviembre, 2009

    Jejeje, error mio :D

    Corregi dejando el codigo del AS tal cual y agregando un frame de actions en el archivo .fla…

    El resultado fue el esperado!!.

    Funka tan pronto como carga la peli en la web…

    Mil Graciaaaaaas!.

  5. m3lon on 23rd Noviembre, 2009

    Funciona de fabula,

    tanto si es un sonido lokal como si es una ip adress,
    en mi caso lo he enlazado a una radio shoutcast,
    y el unico problem que le veo es k al rato
    de empezar a reproducir el buffer se keda flipao
    y deja de reproducir.

    existiria alguna posibilidad de solucionar esto?

    yo en AS no estoy muy puesto k digamos, ya me costaba
    con el 2, ahora con el 3 me vuelvo miko…
    por mas documentacion k miro… nada

    Muchissimas gracias por todo,
    la verdad k da gusto disfrutar de un site komo este

  6. Gabriel on 28th Noviembre, 2009

    Pues hablando de AS2, esto parece ser una buena opcion.

    http://blog.madarco.net/44/memory-leaks-playing-shoutcasticecast-streams-in-flash/

    Contiene la informacion y los archivos fuente, pero està totalmente en inglès.

    evidentemente en AS2, no se podria emular el contenido de este articulo, pero tal vez haya por ahi alguien que se corriera la aventura de combinar ambos scripts.

    Un saludo.

  7. Gabriel on 16th Enero, 2010

    Como harias un control de balance o Panning dentro del archivo .fla, es decir sin utilizar una clase .as?.

    Gracias!.

  8. Gabriel on 16th Enero, 2010

    ups.

    Como harias un control de panning =balance= dentro del .fla?, es decir sin usar una clase .as externa…

    Gracias.

  9. Luis Estevez on 18th Enero, 2010

    Hola Gabriel:

    Si tienes el sonido en la línea de tiempo, seleccionalo y en el panel “Propiedades” elige de la lista “Efecto”, “la opción “Personalizado”. Ahí puedes modificar a tu gusto el balance de los canales. Vienen ya efectos prediseñados por si quieres alguno en concreto.

    Un saludo.

  10. Gabriel on 18th Enero, 2010

    Hola Luis.

    Gracias por responder…Eso que me sugieres lo he hecho ya, pero lo que estoy buscando es codigo para crear un control grafico que responda a situaciones drag & drop del usuario y modifique los valores de volumen a uno u otro canal (panning)…pero el sonido no està incorporado sino que es un flujo de streamming, por eso busco un control manual para el usuario.

    Mil Gracias.

  11. Gabriel on 20th Enero, 2010

    Solved! :)

    function leftBal(e:Event):void
    {
    if(!muted)
    {
    soundVolume = volume_mc.slider_mc.x/100;

    if(sc!=null)
    {
    var trans1:SoundTransform = new SoundTransform(soundVolume, -1); //izquierda
    sc.soundTransform = trans1;
    muted=false;
    }
    }
    }

    //Para crear las otras dos instancias solamente declaras las variables, construyes la funcion para cada una y cambias el valor de [new SoundTransform] (-1:Izquierda, 0:centro, 1:derecha).//

    Saludos!.

Escribir un comentario