Comunidad de diseño web y desarrollo en internet online

wtf con attachSound?

Citar            
MensajeEscrito el 14 Nov 2006 10:37 pm
pues, tengo varios attachSound como 20 en mas o menos unos 200 frames (es un CD, por eso no uso load)

lo primero fue intentar detener uno.. my_sound.stop() ... no, eso no servía, paraba todos los sonidos :shock:, hay q poner el nombre "también" del sonido vinculado my_sound.stop("sonido_en_libreria") .. :ownz:

ahora..¿ cómo le bajo o subo el volumen ?.. con el clásico my_sound.setVolume(50) bajo a todos a la mitad.. :roll:, no solo a my_sound como espero hacerlo.

gracias. ^^

Por Acidbjazz

716 de clabLevel



Genero:Masculino  

Lima - Perú

firefox
Citar            
MensajeEscrito el 14 Nov 2006 10:46 pm
Tal vez si cuando creas las instancias de los sonidos haces esto:

Código :

new Sound(this);


Revisa el this, a mí en muchas ocasiones, agregar el this, me soluciono la vida.


saludos :wink:

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

firefox
Citar            
MensajeEscrito el 15 Nov 2006 02:12 pm
Si quieres que los sonidos tengan comportamientos diferentes, no hay otra que crear objetos Sound diferentes.

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 15 Nov 2006 03:04 pm

zah escribió:

Si quieres que los sonidos tengan comportamientos diferentes, no hay otra que crear objetos Sound diferentes.


osea... ?

Por Acidbjazz

716 de clabLevel



Genero:Masculino  

Lima - Perú

firefox
Citar            
MensajeEscrito el 15 Nov 2006 04:20 pm
Con cada sonido escribes:

Código :

var miSonido0:Sound=new Sound();
miSonido0.attachSound("bate");
miSonido0.start();
var miSonido1:Sound=new Sound();
miSonido1.attachSound("puñal");
miSonido1.setVolume(50);
miSonido1.start();
//etc

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 15 Nov 2006 04:32 pm
:roll: gracias zah... pero eso es obvio, con todo eso es el problema... :crap: .. intentaré con el this.. ya posteo, los resultados..

Una duda más, leyendo por ahí, el preloader empieza desde la mitad, obviamente porq carga primero los sonidos en el primer frame, si quito este check en la vinculación de cada uno (como vi sugerencias por ahí) pues, simplemente ya no suenan

Por Acidbjazz

716 de clabLevel



Genero:Masculino  

Lima - Perú

firefox
Citar            
MensajeEscrito el 15 Nov 2006 04:43 pm
naranjas, con el this tampoco :S .. soy un luseeeerrrrr :cry: :lol:

Por Acidbjazz

716 de clabLevel



Genero:Masculino  

Lima - Perú

firefox
Citar            
MensajeEscrito el 15 Nov 2006 06:35 pm
Ok, me equivoqué por completo. La ayuda de flash es la solución:

stop (método Sound.stop)
public stop([linkageID:String]) : Void

Detiene todos los sonidos que se están reproduciendo actualmente, si no se ha especificado ningún parámetro, o sólo el sonido especificado por el parámetro idName.

Disponibilidad: ActionScript 1.0; Flash Player 5

Parámetros
linkageID:String [opcional] - Un parámetro que especifica que deje de reproducirse un sonido determinado. El parámetro idName debe ir entre comillas (" ").


///
//
/

Código :

var miSonido0:Sound = new Sound();
miSonido0.attachSound("bate");
miSonido0.start();
var miSonido1:Sound = new Sound();
miSonido1.attachSound("puñal");
miSonido1.setVolume(50);
miSonido1.start();
function para() {
   miSonido1.stop("puñal");
   trace("sss");
}
setInterval(para, 1000);

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 16 Nov 2006 06:16 am

Acidbjazz escribió:

lo primero fue intentar detener uno.. my_sound.stop() ... no, eso no servía, paraba todos los sonidos :shock:, hay q poner el nombre "también" del sonido vinculado my_sound.stop("sonido_en_libreria") .. :ownz:
:roll: porq no entenderán lo qtrato de decir.. tal ves me expreso mal ... :crap:

Por Acidbjazz

716 de clabLevel



Genero:Masculino  

Lima - Perú

firefox
Citar            
MensajeEscrito el 16 Nov 2006 04:25 pm

zah escribió:


Código :

var miSonido0:Sound = new Sound();
miSonido0.attachSound("bate");
miSonido0.start();
var miSonido1:Sound = new Sound();
miSonido1.attachSound("puñal");
miSonido1.setVolume(50);
miSonido1.start();
function para() {
   miSonido1.stop("puñal");
   trace("sss");
}
setInterval(para, 1000);

Este código funciona :bofh:

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 16 Nov 2006 07:20 pm

Acidbjazz escribió:

Acidbjazz escribió:

hay q poner el nombre "también" del sonido vinculado my_sound.stop("sonido_en_libreria") .. :ownz:


claro, q funciona... pero esa no es la pregunta ... :lol: , gracias zah por tu paciencia :wink:

Por Acidbjazz

716 de clabLevel



Genero:Masculino  

Lima - Perú

firefox
Citar            
MensajeEscrito el 16 Nov 2006 07:36 pm
Vale, ahora sí que me he perdido. Es posible que ya lo hayas puesto antes, pero ¿cuál es ahora el problema :? ?

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 16 Nov 2006 07:43 pm
el volumen amigo mio, el volumen, ni con el this, funciona

Por Acidbjazz

716 de clabLevel



Genero:Masculino  

Lima - Perú

firefox
Citar            
MensajeEscrito el 16 Nov 2006 07:46 pm
¿Ni así? ... :? :

Código :

var miSonido0:Sound = new Sound();
miSonido0.attachSound("bate");
miSonido0.start();
var miSonido1:Sound = new Sound();
miSonido1.attachSound("puñal");
miSonido1.start();
function para() {
   miSonido1.setVolume(50);
   //miSonido1.stop("puñal");
   //trace("sss");
}
setInterval(para, 2000);

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 20 Nov 2006 01:29 am
Perdón la tardanza, pero el m4ld17o trabajo....

No Zah, así como lo pones no funcionará(no resolverá el problema de Acidbjazz); cuando puse el this, me refería al objeto que lo contiene, dependiendo el contexto de la acción va this(si se usa el código dentro de los MC) o el objeto contenedor, por ejemplo si se usa en raíz, la cosa es distinto, pero vamos no tiene complicanción, adaptandolo a su ejemplo, la solución es esta:

Código :

var clip1:MovieClip = createEmptyMovieClip("_c1",1);
var clip2:MovieClip = createEmptyMovieClip("_c2",2);
var miSonido0:Sound = new Sound(_c1);
miSonido0.attachSound("bate");
miSonido0.start();
var miSonido1:Sound = new Sound(_c2);
miSonido1.attachSound("puñal");
miSonido1.start();
function para() {
   miSonido1.setVolume(20);
}
setInterval(para, 2000);


Lo que les trataba(y trato) de dar a entender, que por alguna jodida extraña razón el objeto Sound, se pega a un MC, por lo que hay que crearlos en distintos MC y pasarles por referencia ese objeto padre, al crear la instancia de Sound. :wink:

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

clabbrowser
Citar            
MensajeEscrito el 20 Nov 2006 03:35 pm
Gracias Dano, ahora entiendo por qué no funcionaba de primeras. De todas formas, ese último código que puse funciona :P
Supongo que lo que se pega a los mcs son los sonidos que attacheas (lo cual es raro), pero no las propiedades del objeto Sound.

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 20 Nov 2006 06:39 pm

Código :

De todas formas, ese último código que puse funciona 
Si Zah, funciona, el detalle es que la problemática continuaba, ya que al usar setVolume baja el volumen general, no individual(por objeto Sound), que era lo que se buscaba. :wink:

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

clabbrowser
Citar            
MensajeEscrito el 20 Nov 2006 06:43 pm

Dano escribió:

Código :

De todas formas, ese último código que puse funciona 
Si Zah, funciona, el detalle es que la problemática continuaba, ya que al usar setVolume baja el volumen general, no individual(por objeto Sound), que era lo que se buscaba. :wink:


:? Pues será sólo mi flash, pero a mí me baja sólo un sonido ^^.

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 30 Nov 2006 03:32 am

Código :

function sonar(n:Number, id:String, rep:Number, vol:Number){
   this["emc"+n] = this.createEmptyMovieClip(this["_emc"+n],this.getNextHighestDepth());
   this["snd"+n] = new Sound(this["_emc"+n]);
   this["snd"+n].attachSound(id);
   this["snd"+n].setVolume(vol);
   this["snd"+n].start(0,rep);
}

sonar(1,"fondo",9999,20);
sonar(2,"algo",1,100);

:shock: q demonios tiene mi flash.. no funciona.. :crap:

Por Acidbjazz

716 de clabLevel



Genero:Masculino  

Lima - Perú

firefox
Citar            
MensajeEscrito el 30 Nov 2006 06:02 pm

Código :

this["_emc"+n]

Esto devuelve undefined. Pon solamente "_emc"+n

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 30 Nov 2006 07:34 pm
excelente!, tienes razón, necesitaba un string no un mc, thx

Por Acidbjazz

716 de clabLevel



Genero:Masculino  

Lima - Perú

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.