Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Micrófono sin LoopBack

Iniciado por mi-go, 11 de Octubre de 2008, 01:02:27 AM

« anterior - próximo »

mi-go

Buenas!!

Estoy haciendo pruebas con el micro y tengo un problema.
Si ejecuto el código que pongo más abajo, que lo he sacado directamente de la ayuda de flash, me funciona todo bien.

Pero si quito lo de: mic.setLoopBack(true);
Porque no quiero escucharme a mi mismo...  ya no me sale la ventana que me pide permiso para usar el micro y no pasa nada. No salta el evento ACTIVITY ni nada.

Según he leído en la ayuda nada más hacer Microphone.getMicrophone(); debería saltar la ventana que pide permiso, pero a mi no me salta y supongo que por eso después el micro no va.

¿Alguien sabe como hacerlo sin el LoopBack?


código del ejemplo:

import flash,events.ActivityEvent;
import flash,events.StatusEvent;
import flash.media.Microphone;

var deviceArray:Array = Microphone.names;
trace("Available sound input devices:");
for (var i:int = 0; i < deviceArray.length; i++)
{
trace(" " + deviceArray);
}

var mic:Microphone = Microphone.getMicrophone();
mic.gain = 60;
mic.rate = 11;
mic.setUseEchoSuppression(true);
mic.setLoopBack(true);
mic.setSilenceLevel(5, 1000);

mic.addEventListener(ActivityEvent.ACTIVITY, this.onMicActivity);
mic.addEventListener(StatusEvent.STATUS, this.onMicStatus);

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 suppression: " + mic.useEchoSuppression + '\n';
trace(micDetails);

function onMicActivity(event:ActivityEvent):void
{
trace("activating=" + event.activating + ", activityLevel=" +
mic.activityLevel);
}

function onMicStatus(event:StatusEvent):void
{
trace("status: level=" + event.level + ", code=" + event.code);
}
Web personal: www.javiermairena.net
The Game Kitchen: www.thegamekitchen.com
AccessAble Games: www.accessablegames.com
Blog Videojuegos Accesibles: www.videojuegosaccesibles.es

ShAq

Buenas,
Puede parecer una tonteria...
pero has probado a hacer:
mic.setLoopBack(true);
mic.setLoopBack(false);

un saludo.

mi-go

Sí, esa "tontería"   ;)  también la he probado.
Se queda desactivado en cuanto pongo el LooBack a false.
También lo he probado porner a false la primera vez que recibe algún sonido y lo que hace es que ya se queda siempre activo  :-\
Web personal: www.javiermairena.net
The Game Kitchen: www.thegamekitchen.com
AccessAble Games: www.accessablegames.com
Blog Videojuegos Accesibles: www.videojuegosaccesibles.es

mi-go


Lo conseguí !!!!   ^_^'

sólo tenía que poner esta línea:
mic.soundTransform = new SoundTransform(0);

Así modificamos el canal de sonido que tiene asociado mic. Con ese constructor de SoundTransform estoy poniendo volume a 0.
Fuuuu... me ha costado   >.<

Web personal: www.javiermairena.net
The Game Kitchen: www.thegamekitchen.com
AccessAble Games: www.accessablegames.com
Blog Videojuegos Accesibles: www.videojuegosaccesibles.es






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.