Comunidad de diseño web y desarrollo en internet online

microfono y as3, solo toma uno?

Citar            
MensajeEscrito el 05 Jun 2012 05:58 pm
Buenas tardes gente del foro!, tengo una duda y espero me pueda ayudar, ya que google no me ha dado mucha data, creo que es porque es muy puntual mi duda. La cosa es que estoy desarrollando una aplicacion donde toma en cuenta la entrada de los microfonos, ya lo desarrolle y anda joya, tengo dos microfonos (uno en realidad es la kinect, ergo es entrada USB), y cuando probe tomando las entradas de cada uno me anduvo barbaro, el problema fue que cuando cree dos variables microfono, solo me toma uno (justamente el que tengo predeterminado en windows), entonces nose si se puede que tome ambos microfonos, no se si AS3 no lo puede hacer o si windows no lo deja, si necesito alguna placa de sonido, no se! jaja, espero me puedan orientar, el codigo que hice para tomarlos fue el siguiente:


var mic:Microphone = Microphone.getMicrophone(1);
var mic2:Microphone = Microphone.getMicrophone(0);


Desde ya mil gracias por la ayuda!.

Por plancha

33 de clabLevel



 

chrome
Citar            
MensajeEscrito el 06 Jun 2012 03:43 am
Proba que te devuelve este trace:

Código ActionScript :

trace(Microphone.names);


Imagino que debe estar devolviendo mas de 2 elementos. Si es asi tenes que probar cual seria cada microfono.


Saludos


eXe

Por exekiel21

Claber

164 de clabLevel



Genero:Masculino  

programador

chrome
Citar            
MensajeEscrito el 07 Jun 2012 03:43 pm
Hola eXe!, gracias por la respuesta. Tenia puesto ese codigo y me da dos microfonos:

Micrófono (Dispositivo de High Definition Audio),Varios micrófonos (Dispositivo de audio USB)

El primero es el de la camara, y el segundo el de la kinect (deduzco por lo de varios microfonos en realidad, no estoy seguro cual es cual).

Vos decis que esta mal puesto como lo puse antes?, no los pone por defecto en la posicion 0 y 1??. Como me fijo que numero de dispositivo devuelve cada uno?, no encontre ese dato.

Gracias por la respuesta!.

Saludos!

Por plancha

33 de clabLevel



 

chrome
Citar            
MensajeEscrito el 07 Jun 2012 06:20 pm
Mejor mostranos todo el codigo que utilizas para usar los microfonos.


Saludos


eXe

Por exekiel21

Claber

164 de clabLevel



Genero:Masculino  

programador

chrome
Citar            
MensajeEscrito el 07 Jun 2012 07:54 pm
Ahi te lo paso:


package
{
import flash.display.MovieClip;
import flash.media.Microphone;
import flash.events.StatusEvent;
import flash.events.ActivityEvent;
import flash.events.Event;
import flash.events.DataEvent;
import flash.utils.ByteArray;
import flash.events.SampleDataEvent;
import flash.media.SoundTransform;


public class PruebaMic extends MovieClip
{
var device:Array = Microphone.names;
var mic:Microphone = Microphone.getMicrophone(1);
var mic2:Microphone = Microphone.getMicrophone(0);
var i:int = 0;
var snd:SoundTransform = new SoundTransform(0,0);
var coche_1:auto = new auto();
var coche_2:auto = new auto();
var enEscena:Boolean = false;
var enEscena2:Boolean = false;



public function PruebaMic()
{

trace(Microphone.names);
var deviceArray:Array = Microphone.names;
trace("Available sound input devices:");
for (var i:int = 0; i < deviceArray.length; i++)
{
trace(" " + deviceArray[i]);
}
mic.addEventListener(StatusEvent.STATUS, onMic);
mic.setUseEchoSuppression(true);
mic.setLoopBack(true);
mic.setSilenceLevel(10,0);
mic.gain = 2;
mic.soundTransform = snd;

mic2.addEventListener(StatusEvent.STATUS, onMic2);
mic2.setUseEchoSuppression(true);
mic2.setLoopBack(true);
mic2.setSilenceLevel(60,0);
mic2.gain = 2;
mic2.soundTransform = snd;
/*var micDetails:String = "Sound input device name: " + mic.name + '\n';
micDetails += "Gain: " + mic.gain + '\n';
micDetails += "Rate: " + mic.rate + " kHz" + '\n';
micDetails += "Muted: " + mic.muted + '\n';
micDetails += "Silence level: " + mic.silenceLevel + '\n';
micDetails += "Silence timeout: " + mic.silenceTimeout + '\n';
micDetails += "Echo";*/
//trace(micDetails);
// constructor code
}

private function mover (event:Event):void
{
mic.setSilenceLevel(60,0);
trace("microfono 1: "+mic.activityLevel/10);
if (!enEscena)
{
addChild(coche_1);
coche_1.x = -300;
coche_1.y = 300;
enEscena = true;
}
else if(enEscena)
{
if((mic.activityLevel/10) > 5)
{
metros.text = String(coche_1.x+300);
coche_1.x = (coche_1.x + (mic.activityLevel/6));
}

if (coche_1.x > 2000)
{
trace("terminado");
stage.removeEventListener(Event.ENTER_FRAME, mover);
mic.gain = 0;
}
}
}


private function actividad (event:ActivityEvent):void
{
stage.addEventListener(Event.ENTER_FRAME, mover);
mic.gain = 30;
}

private function onMic(event:StatusEvent)
{
mic.addEventListener(ActivityEvent.ACTIVITY, actividad);
}

//----------------------SEGUNDO MICROFONO

private function mover2 (event:Event):void
{
mic2.setSilenceLevel(100,0);
trace("microfono 2: "+mic2.activityLevel/10);
if (!enEscena2)
{
addChild(coche_2);
coche_2.x = -300;
coche_2.y = 650;
enEscena2 = true;
}
else if(enEscena2)
{
if((mic2.activityLevel/10) > 5)
{
metros2.text = String(coche_2.x+300);
coche_2.x = (coche_2.x + (mic2.activityLevel/6));
}

if (coche_2.x > 2000)
{
trace("terminado");
stage.removeEventListener(Event.ENTER_FRAME, mover2);
mic2.gain = 0;
}
}
}


private function actividad2 (event:ActivityEvent):void
{
stage.addEventListener(Event.ENTER_FRAME, mover2);
mic2.gain = 0.3;
}

private function onMic2(event:StatusEvent)
{
mic2.addEventListener(ActivityEvent.ACTIVITY, actividad2);
}
}
}


No se como hacen para ponerlo dentro de un recuadro y que diferencie el codigo de lo que esta escrito, si me decis como lo edito y lo pongo bien, es mucho mas claro para comprender el codigo.

Hay algunos imports que notaras de mas, fue que fueron quedando de las pruebas, cuando lo termine optimizare jeje.

Gracias por la ayuda!.

Plancha

Por plancha

33 de clabLevel



 

chrome
Citar            
MensajeEscrito el 07 Jun 2012 09:12 pm
proba asi:

Código ActionScript :

var snd:SoundTransform = new SoundTransform(1,0); //setea el volumen a 1


Saludos

eXe

Por exekiel21

Claber

164 de clabLevel



Genero:Masculino  

programador

chrome

 

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