Вы находитесь на странице: 1из 22

Paquete Clase Herencia

flash.media public final class Microphone

Microphone EventDispatcher Object Versin del lenguaje: ActionScript 3.0 Versiones de motor de ejecucin: AIR 1.0, Flash Player 9 Utilice la clase Microphone para supervisar o capturar audio de un micrfono. Para obtener una referencia a la instancia de Microphone, utilice el mtodo Microphone.getMicrophone() o el mtodo Microphone.getEnhancedMicrophone(). Una instancia de Microphone mejorada puede realizar cancelacin de eco acstico. Utilice cancelacin de eco acstico para crear aplicaciones de vdeo/audio en tiempo real que no requieren auriculares. Creacin de una aplicacin de chat en tiempo real Para crear una aplicacin de chat en tiempo real, capture audio y envelo a Flash Media Server. Utilice las clases NetConnection y NetStream para enviar la transmisin de audio a Flash Media Server. Flash Media Server puede transmitir el audio a otros clientes. Para crear una aplicacin de chat que no requiera auriculares, utilice cancelacin de eco acstico. La cancelacin de eco acstico impide que el circuito de retroalimentacin que se produce cuando el audio introduce un micrfono salga por los altavoces y vuelva a introducirse en el micrfono. Para utilizar la cancelacin de eco acstico, llame al mtodo Microphone.getEnhancedMicrophone() para obtener una referencia a una instancia de Microphone. Establezca Microphone.enhancedOptions como una instancia de la clase MicrophoneEnhancedOptions para configurar los ajustes. Reproduccin de audio de micrfono localmente Llame al mtodo setLoopback() de Microphone para dirigir el audio de micrfono directamente a la salida de audio del dispositivo o del equipo local. Los comentarios incontrolados de audio son un peligro inherente y es probable que se produzcan cuando la salida de audio se puede captar con la entrada para el micrfono. El mtodosetUseEchoSuppression() puede reducir, pero no eliminar, el riesgo de amplificacin de retroalimentacin. Captura de audio local de micrfono para grabacin o procesamiento Para capturar audio de micrfono, detecte eventos sampleData distribuidos por una instancia de Microphone. El objeto SampleDataEvent distribuido para este evento contiene los datos de audio. Para informacin sobre la captura de vdeo, consulte la clase Camera. Soporte de micrfono en motor de ejecucin La clase Microphone no se admite en Flash Player cuando se ejecuta en un navegador mvil.

Compatibilidad con perfil de AIR: la clase Microphone se admite en sistemas operativos de


escritorio, pero no en todos los dispositivos mviles. No se admite en dispositivos de AIR para TV. Consulte Compatibilidad con perfil de AIR para obtener informacin sobre la compatibilidad de la API con varios perfiles.

Puede comprobar la compatibilidad en tiempo de ejecucin mediante la propiedad Microphone.isSupported. Hay que tener en cuenta que en dispositivos de AIR para TV,Microphone.isSupported es true pero Microphone.getMicrophone() siempre devuelve null. Controles de privacidad Flash Player muestra un cuadro de dilogo de Privacidad que permite al usuario decidir si autoriza o deniega el acceso al micrfono. El tamao de la ventana de la aplicacin debe ser al menos de 215 x 138 pxeles, el tamao mnimo necesario para mostrar el cuadro de dilogo; en caso contrario, se deniega el acceso automticamente. El contenido que se ejecuta en el entorno limitado de la aplicacin de AIR no necesita permiso para acceder al micrfono y no se muestra ningn cuadro de dilogo. El contenido de AIR que se ejecuta fuera del entorno limitado de la aplicacin no necesita permiso y s se muestra el cuadro de dilogo Privacidad. Ver los ejemplos

Ms ejemplos
Fundamentos de la utilizacin de sonido Captura de entradas de sonido

Ms informacin
aYo Binitie: Implementacin de supresin de eco acstico en aplicaciones de Flash/Flex Cristophe Coenraets: Notas de voz para Android Michael Chaize: AIR, Android y el micrfono

Elementos de API relacionados


flash.media.Camera flash.media.MicrophoneEnhancedMode flash.media.MicrophoneEnhancedOptions

Propiedades pblicas
Mostrar propiedades pblicas heredadas Propiedad

activityLevel : Number [slo lectura] La cantidad de sonido detectada por el micrfono.

codec : String El cdec utilizado para comprimir audio.

enableVAD : Boolean Activa la deteccin de actividad de voz Speex.

encodeQuality : int La calidad de la voz codificada cuando se utiliza el cdec Speex.

enhancedOptions : MicrophoneEnhancedOptions Controla las opciones mejoradas de micrfono.

framesPerPacket : int Nmero de fotogramas de voz de Speex transmitidos en un paquete (mensaje).

gain : Number Cantidad que el micrfono aumenta la seal.

index : int [slo lectura] El ndice del micrfono, tal como se refleja en el conjunto devuelto por Microphone.names.

isSupported : Boolean [esttica] [slo lectura] La propiedad isSupported se establece en true si la clase Microphone se admite en la plataforma act false.

muted : Boolean [slo lectura] Especifica si el usuario ha denegado el acceso al micrfono (true) o lo ha autorizado (false).

name : String [slo lectura] El nombre del dispositivo de captura de sonido, tal y como lo ha devuelto el hardware de captura de sonido.

names : Array

[esttica] [slo lectura] Un conjunto de cadenas que incluye los nombres de todos los dispositivos de captura de sonido disp

noiseSuppressionLevel : int Atenuacin mxima del ruido en dB (nmero negativo) que se utiliza en el codificador Speex.

rate : int La frecuencia a la que el micrfono captura el sonido, expresada en kHz.

silenceLevel : Number [slo lectura] La cantidad de sonido requerida para activar el micrfono y distribuir el evento activity.

silenceTimeout : int

[slo lectura] Nmero de milisegundos que transcurren entre el momento en que el micrfono deja de detectar sonido y la d

soundTransform : flash.media:SoundTransform Controla el sonido de este objeto de micrfono cuando se encuentra en modo de bucle.

useEchoSuppression : Boolean [slo lectura] Se establece en true si est activada la supresin de eco; en caso contrario, devuelve false.

Mtodos pblicos
Mtodo

Mostrar mtodos pblicos heredados

getEnhancedMicrophone(index:int = -1):Microphone [esttica] Devuelve una referencia a un objeto Microphone mejorado que puede realizar cancelacin de eco acstico.

getMicrophone(index:int = -1):Microphone [esttica] Devuelve una referencia a un objeto Microphone para capturar sonido.

setLoopBack(state:Boolean = true):void Dirige el audio capturado por un micrfono a los altavoces locales.

setSilenceLevel(silenceLevel:Number, timeout:int = -1):void

Establece el nivel mnimo de la entrada que debe considerarse como sonido y (opcionalmente) el tiempo de silencio que ind el silencio.

setUseEchoSuppression(useEchoSuppression:Boolean):void Especifica si debe utilizarse la funcin de supresin de eco del cdec de audio.

Eventos
Haga clic para obtener ms informacin sobre los eventos Mostrar eventos heredados Evento Resumen

activity

Se distribuye cuando un micrfono inicia o detiene la grabacin por silencio detectado.

sampleData

Se distribuye cuando el micrfono tiene datos de sonido en el bfer.

status

Se distribuye cuando un micrfono informa sobre su estado.

Informacin sobre propiedades activityLevel propiedad activityLevel:Number [slo lectura]


Versin del lenguaje: ActionScript 3.0 Versiones de motor de ejecucin: AIR 1.0, Flash Player 9 La cantidad de sonido detectada por el micrfono. El rango de valores vlidos es de 0 (no se detecta sonido) a 100 (se detecta un sonido alto). El valor de esta propiedad permite determinar un valor adecuado para el mtodo Microphone.setSilenceLevel(). Si la propiedad muted del micrfono es true, el valor de esta propiedad siempre es -1.

Implementacin
public function get activityLevel():Number

Elementos de API relacionados flash.media.Microphone.getMicrophone() flash.media.Microphone.setSilenceLevel() flash.media.Microphone.gain

codec propiedad codec:String

Versin del lenguaje: ActionScript 3.0 Versiones de motor de ejecucin: Flash Player 10, AIR 1.5 El cdec utilizado para comprimir audio. Los cdecs disponibles son Nellymoser (predeterminado), Speex, PCMA (para G.711 A-law) y PCMU (para G.711 -law). La clase de enumeracin SoundCodec contiene los distintos valores vlidos para la propiedad codec. Si utiliza el cdec de Nellymoser, puede establecer la frecuencia de muestreo utilizando Microphone.rate(). Si se utiliza el cdec de Speex, la frecuencia de muestreo se establece en 16 kHz. Para cdecs G.711, la velocidad de muestreo es de 8 kHz. Speex incluye deteccin de actividad de voz (VAD) y reduce automticamente el ancho de banda cuando se detecta ninguna voz. Si se utiliza el cdec de Speex, Adobe recomienda establecer el nivel de silencio en 0. Para definir el nivel de silencio, utilice el mtodo Microphone.setSilenceLevel().

Implementacin
public function get codec():String public function set codec(value:String):void

Elementos de API relacionados SoundCodec setSilenceLevel()

enableVAD
enableVAD:Boolean

propiedad

Versin del lenguaje: ActionScript 3.0 Versiones de motor de ejecucin: Flash Player 10.1, AIR 2 Activa la deteccin de actividad de voz Speex.

Implementacin
public function get enableVAD():Boolean public function set enableVAD(value:Boolean):void

encodeQuality
encodeQuality:int

propiedad

Versin del lenguaje: ActionScript 3.0 Versiones de motor de ejecucin: Flash Player 10, AIR 1.5 La calidad de la voz codificada cuando se utiliza el cdec Speex. Los valores posibles van de 0 a 10. El valor predeterminado es 6. Si se utiliza un nmero ms elevado, la calidad ser ms alta, pero se necesitar una ancho de banda mayor, como se muestra en la siguiente tabla. Los valores de velocidad de transferencia enumerados representan las velocidades de transferencia netas y no incluyen la sobrecarga correspondiente a la creacin de paquetes. Valor de calidad Velocidad de transferencia necesaria (kilobits por segundo) 0 1 3,95 5,75

2 3 4 5 6 7 8 9 10

7,75 9,80 12,8 16,8 20,6 23,8 27,8 34,2 42,2

Implementacin
public function get encodeQuality():int public function set encodeQuality(value:int):void

Elementos de API relacionados cdec

enhancedOptions propiedad enhancedOptions:MicrophoneEnhancedOptions


Versin del lenguaje: ActionScript 3.0 Versiones de motor de ejecucin: Flash Player 10.3, AIR 2.7 Controla las opciones mejoradas de micrfono. Para obtener ms informacin, consulte la clase MicrophoneEnhancedOptions. Esta propiedad se omitir para instancias de Microphone no mejoradas.

Implementacin
public function get enhancedOptions():MicrophoneEnhancedOptions public function set enhancedOptions(value:MicrophoneEnhancedOptions):void

Elementos de API relacionados flash.media.MicrophoneEnhancedOptions

framesPerPacket
framesPerPacket:int

propiedad

Versin del lenguaje: ActionScript 3.0 Versiones de motor de ejecucin: Flash Player 10, AIR 1.5 Nmero de fotogramas de voz de Speex transmitidos en un paquete (mensaje). Cada fotograma tiene una duracin de 20 ms. El valor predeterminado es de dos fotogramas por paquete. Cuando mayor sea el nmero de fotogramas Speex en un mensaje, menor ser el ancho de banda requerido, aunque aumentar el retraso al enviar el mensaje. A menor nmero de fotogramas Speex, mayor ser el ancho de banda requerido, pero se reducir el retraso.

Implementacin
public function get framesPerPacket():int public function set framesPerPacket(value:int):void

gain propiedad gain:Number


Versin del lenguaje: ActionScript 3.0 Versiones de motor de ejecucin: AIR 1.0, Flash Player 9 Cantidad que el micrfono aumenta la seal. Los valores vlidos van de 0 a 100. El valor predeterminado es 50.

Implementacin
public function get gain():Number public function set gain(value:Number):void

Elementos de API relacionados flash.media.Microphone.gain


propiedad index:int [slo lectura]

index

Versin del lenguaje: ActionScript 3.0 Versiones de motor de ejecucin: AIR 1.0, Flash Player 9 El ndice del micrfono, tal como se refleja en el conjunto devuelto por Microphone.names.

Implementacin
public function get index():int

Elementos de API relacionados flash.media.Microphone.getMicrophone() flash.media.Microphone.names


propiedad isSupported:Boolean [slo lectura]

isSupported

Versin del lenguaje: ActionScript 3.0 Versiones de motor de ejecucin: Flash Player 10.1, AIR 2 La propiedad isSupported se establece en true si la clase Microphone se admite en la plataforma actual; en caso contrario, se establece en false.

Implementacin
public static function get isSupported():Boolean propiedad muted:Boolean [slo lectura]

muted

Versin del lenguaje: ActionScript 3.0 Versiones de motor de ejecucin: AIR 1.0, Flash Player 9 Especifica si el usuario ha denegado el acceso al micrfono (true) o lo ha autorizado (false). Cuando cambia este valor, se distribuye un evento status. Para ms informacin, consulte Microphone.getMicrophone().

Implementacin
public function get muted():Boolean

Elementos de API relacionados flash.media.Microphone.getMicrophone() flash.media.Microphone.status


propiedad name:String [slo lectura]

name

Versin del lenguaje: ActionScript 3.0 Versiones de motor de ejecucin: AIR 1.0, Flash Player 9 El nombre del dispositivo de captura de sonido, tal y como lo ha devuelto el hardware de captura de sonido.

Implementacin
public function get name():String

Elementos de API relacionados flash.media.Microphone.getMicrophone() flash.media.Microphone.names


propiedad names:Array [slo lectura]

names

Versin del lenguaje: ActionScript 3.0 Versiones de motor de ejecucin: AIR 1.0, Flash Player 9 Un conjunto de cadenas que incluye los nombres de todos los dispositivos de captura de sonido disponibles. Los nombres se devuelven sin necesidad de mostrar al usuario el panel Configuracin de privacidad de Flash Player. Este conjunto proporciona el ndice basado en cero de cada dispositivo de captura de sonido y el nmero de dispositivos de captura de sonido del sistema; lo hace gracias a la propiedad Microphone.names.length. Para ms informacin, consulte la entrada de la clase Array. La llamada a Microphone.names exige un examen amplio del hardware y puede tardar varios segundos en crear el conjunto. En la mayora de los casos, podr utilizar simplemente el micrfono predeterminado. Nota: para determinar el nombre del micrfono actual, utilice la propiedad name.

Implementacin
public static function get names():Array

Elementos de API relacionados Array flash.media.Microphone.name flash.media.Microphone.getMicrophone()

noiseSuppressionLevel
noiseSuppressionLevel:int

propiedad

Versin del lenguaje: ActionScript 3.0 Versiones de motor de ejecucin: Flash Player 10.1, AIR 2 Atenuacin mxima del ruido en dB (nmero negativo) que se utiliza en el codificador Speex. Si est activado, se aplicar supresin de ruido al sonido capturado por el micrfono antes de la compresin de Speex. Establezca el valor en 0 para desactivar supresin de sonido. La supresin de ruido se activa de forma predeterminada con la mxima atenuacin de -30 dB. Omitir si el cdec de Nellymoser est seleccionado.

Implementacin
public function get noiseSuppressionLevel():int public function set noiseSuppressionLevel(value:int):void

rate
rate:int

propiedad

Versin del lenguaje: ActionScript 3.0 Versiones de motor de ejecucin: AIR 1.0, Flash Player 9 La frecuencia a la que el micrfono captura el sonido, expresada en kHz. Los valores aceptables son 5, 8, 11, 22 y 44. El valor predeterminado es 8 kHz si su dispositivo de captura de sonido admite este valor. En caso contrario, el valor predeterminado ser el siguiente nivel de captura disponible por encima de 8 kHz que admita su dispositivo de captura de sonido, generalmente 11 kHz. Nota: la frecuencia real difiere ligeramente del valor de rate, como se indica en la siguiente tabla: Valor de rate Frecuencia real 44 44.100 Hz 22 22.050 Hz 11 11.025 Hz 8 8.000 Hz 5 5.512 Hz

Implementacin
public function get rate():int public function set rate(value:int):void

Elementos de API relacionados flash.media.Microphone.rate


propiedad silenceLevel:Number [slo lectura]

silenceLevel

Versin del lenguaje: ActionScript 3.0 Versiones de motor de ejecucin: AIR 1.0, Flash Player 9 La cantidad de sonido necesaria para activar el micrfono y distribuir el evento activity. El valor predeterminado es 10.

Implementacin
public function get silenceLevel():Number

Elementos de API relacionados flash.media.Microphone.gain flash.media.Microphone.setSilenceLevel()

silenceTimeout propiedad silenceTimeout:int [slo lectura]


Versin del lenguaje: ActionScript 3.0 Versiones de motor de ejecucin: AIR 1.0, Flash Player 9 Nmero de milisegundos que transcurren entre el momento en que el micrfono deja de detectar sonido y la distribucin del evento activity. El valor predeterminado es 2000 (2 segundos). Para definir este valor, utilice el mtodo Microphone.setSilenceLevel().

Implementacin
public function get silenceTimeout():int

Elementos de API relacionados flash.media.Microphone.setSilenceLevel()

soundTransform propiedad soundTransform:flash.media:SoundTransform


Versin del lenguaje: ActionScript 3.0 Versiones de motor de ejecucin: AIR 1.0, Flash Player 9 Controla el sonido de este objeto de micrfono cuando se encuentra en modo de bucle.

Implementacin

public function get soundTransform():flash.media:SoundTransform public function set soundTransform(value:flash.media:SoundTransform):void

useEchoSuppression propiedad useEchoSuppression:Boolean [slo lectura]


Versin del lenguaje: ActionScript 3.0 Versiones de motor de ejecucin: AIR 1.0, Flash Player 9 Se establece en true si est activada la supresin de eco; en caso contrario, devuelve false. El valor predeterminado es false a no ser que el usuario haya seleccionado la reduccin de eco en el panel Configuracin del micrfono de Flash Player.

Implementacin
public function get useEchoSuppression():Boolean

Elementos de API relacionados flash.media.Microphone.setUseEchoSuppression()

Informacin sobre mtodos


mtodo public static function getEnhancedMicrophone(index:int = -1):Microphone

getEnhancedMicrophone ()

Versin del lenguaje: ActionScript 3.0 Versiones de motor de ejecucin: Flash Player 10.3, AIR 2.7 Devuelve una referencia a un objeto Microphone mejorado que puede realizar cancelacin de eco acstico. Utilice cancelacin de eco acstico para crear aplicaciones de chat de vdeo/audio que no requieren auriculares. El parmetro index para el mtodo Microphone.getEnhancedMicrophone() y Microphone.getMicrophone()( funcionan de la misma manera. Importante: en cada momento slo se puede tener una instancia de dispositivo de micrfono mejorado. Todas las dems instancias de Microphone dejan de suministrar datos de audio y reciben un evento StatusEvent con la propiedad code Microphone.Unavailable. Cuando el audio mejorado falla al inicializar, las llamadas a este mtodo devuelven null. Establecer un valor para Microphone.enhancedOptions no produce ningn efecto y todas las instancias de micrfono funcionan como antes. Para configurar un objeto Microphone mejorado, establezca la propiedad Microphone.enhancedOptions. El siguiente cdigo utiliza un objeto Microphone mejorado y cancelacin de eco acstico full-duplex en una prueba local:
var mic:Microphone = Microphone.getEnhancedMicrophone(); var options:MicrophoneEnhancedOptions = new MicrophoneEnhancedOptions(); options.mode = MicrophoneEnhancedMode.FULL_DUPLEX; mic.enhancedOptions = options; mic.setLoopBack(true);

El mtodo setUseEchoSuppression( se omite cuando se utiliza cancelacin de eco acstico.

Cuando un archivo SWF intenta acceder al objeto devuelto por Microphone.getEnhancedMicrophone(), por ejemplo, al llamar a NetStream.attachAudio(), Flash Player muestra un cuadro de dilogo Privacidad que permite al usuario autorizar o denegar el acceso al micrfono. (Asegrese de que el tamao del escenario sea de al menos 215 x 138 pxeles; ste es el tamao mnimo que exige Flash Player para mostrar el cuadro de dilogo.) Parmetros
index:int (default = -1) El valor de ndice del micrfono. Valor devuelto Microphone Referencia a un objeto Microphone para capturar sonido. Si el audio mejorado falla al inicializar, devuelve null.

Elementos de API relacionados Microphone.getMicrophone() Microphone.enhancedOptions Microphone.status


mtodo public static function getMicrophone(index:int = -1):Microphone

getMicrophone ()

Versin del lenguaje: ActionScript 3.0 Versiones de motor de ejecucin: AIR 1.0, Flash Player 9 Devuelve una referencia a un objeto Microphone para capturar sonido. Para comenzar a capturar audio, debe asociar el objeto Microphone a un objeto NetStream (consulte NetStream.attachAudio(). Varias llamadas a Microphone.getMicrophone() hacen referencia al mismo micrfono. Por consiguiente, si el cdigo contiene las lneas mic1 = Microphone.getMicrophone() y mic2 = Microphone.getMicrophone() , tanto mic1 como mic2 harn referencia al mismo micrfono (predeterminado). Por lo general, no se debe transferir un valor para index. Simplemente utilice el mtodo air.Microphone.getMicrophone() para devolver una referencia al micrfono predeterminado. Desde la seccin Configuracin del micrfono del panel Configuracin de Flash Player, el usuario puede especificar el micrfono predeterminado que debe utilizar la aplicacin. (El usuario puede acceder al panel Configuracin de Flash Player haciendo clic con el botn derecho en el contenido de Flash Player que se ejecuta en un navegador web.) Si transfiere un valor para index, puede hacer referencia a un micrfono que no es el mismo que elige el usuario. Puede utilizar index en casos poco frecuentes, por ejemplo, si la aplicacin est capturando audio de dos micrfonos a la vez. El contenido ejecutado en Adobe AIR tambin utiliza la configuracin de Flash Player para el micrfono predeterminado. Utilice la propiedad Microphone.index para obtener el valor de ndice del objeto Microphone actual. A continuacin, puede transmitir este valor a los dems mtodos de la clase Microphone. Cuando un archivo SWF intenta acceder al objeto devuelto por Microphone.getMicrophone(), por ejemplo, al llamar a NetStream.attachAudio(), Flash Player muestra un cuadro de dilogo Privacidad que permite al usuario autorizar o denegar el acceso al micrfono. (Asegrese de que el tamao del escenario sea de al menos 215 x 138 pxeles; ste es el tamao mnimo que exige Flash Player para mostrar el cuadro de dilogo.)

Cuando el usuario responde a este cuadro de dilogo, se distribuye un evento status que indica la respuesta del usuario. Tambin puede comprobar la propiedadMicrophone.muted para determinar si el usuario ha permitido o denegado el acceso al micrfono. Si Microphone.getMicrophone() devuelve el valor null, ello indicar que otra aplicacin utiliza el micrfono o que no hay micrfonos instalados en el sistema. Para comprobar si hay micrfonos instalados, utilice Microphones.names.length. Para ver el panel de configuracin del micrfono de Flash Player, en el que el usuario puede elegir el micrfono al que har referencia Microphone.getMicrophone(), utilice Security.showSettings(). Parmetros
index:int (default = -1) El valor de ndice del micrfono. Valor devuelto Microphone Referencia a un objeto Microphone para capturar sonido.

Eventos
status:StatusEvent Se distribuye cuando un micrfono informa sobre su estado. Si el valor de la propiedad code es "Microphone.Muted", el usuario ha denegado el acceso del archivo SWF al micrfono del usuario. Si el valor de la propiedad code es "Microphone.Unmuted", el usuario ha

permitido el acceso del archivo SWF al micrfono del usuario. Elementos de API relacionados Microphone.status flash.net.NetStream.attachAudio() flash.system.Security.showSettings() Ejemplo ( Cmo utilizar este ejemplo ) En el ejemplo siguiente se muestra cmo solicitar el acceso al micrfono del usuario mediante el mtodo esttico Microphone.getMicrophone() y cmo detectar el evento de estado. Ejemplo facilitado por ActionScriptExamples.com.
var mic:Microphone = Microphone.getMicrophone(); mic.setLoopBack(); mic.addEventListener(StatusEvent.STATUS, mic_status);

var tf:TextField = new TextField(); tf.autoSize = TextFieldAutoSize.LEFT; tf.text = "Detecting microphone..."; addChild(tf);

function mic_status(evt:StatusEvent):void { tf.text = "Microphone is muted?: " + mic.muted; switch (evt.code) { case "Microphone.Unmuted": tf.appendText("\n" + "Microphone access was allowed."); break;

case "Microphone.Muted": tf.appendText("\n" + "Microphone access was denied."); break; } }

setLoopBack () mtodo public function setLoopBack(state:Boolean = true):void


Versin del lenguaje: ActionScript 3.0 Versiones de motor de ejecucin: AIR 1.0, Flash Player 9 Dirige el audio capturado por un micrfono a los altavoces locales. Parmetros
state:Boolean (default = true)

setSilenceLevel () mtodo public function setSilenceLevel(silenceLevel:Number, timeout:int = -1):void


Versin del lenguaje: ActionScript 3.0 Versiones de motor de ejecucin: AIR 1.0, Flash Player 9 Establece el nivel mnimo de la entrada que debe considerarse como sonido y (opcionalmente) el tiempo de silencio que indica que efectivamente ha comenzado el silencio. Para impedir que el micrfono detecte sonido, transfiera un valor de 100 para silenceLevel; el evento activity nunca se distribuir. Para determinar la cantidad de sonido que est detectando actualmente el micrfono, utilice Microphone.activityLevel.

Speex incluye deteccin de actividad de voz (VAD) y reduce automticamente el ancho de banda cuando se detecta ninguna voz. Si se utiliza el cdec de Speex, Adobe recomienda establecer el nivel de silencio en 0. La deteccin de actividad es la capacidad de detectar cundo los niveles de audio sugieren que una persona est hablando. Cuando no hay nadie hablando, puede ahorrarse ancho de banda porque no es necesario enviar el flujo de audio asociado. Esta informacin tambin se utiliza como informacin para que los usuarios sepan que ellos (u otras personas) estn en silencio. Los valores de silencio se corresponden directamente con los valores de actividad. El silencio total tiene un valor de actividad 0. El ruido alto y constante (el mximo que puede registrarse con la configuracin de ganancia actual) tiene un valor de actividad 100. Una vez ajustada adecuadamente la ganancia, el valor de actividad es inferior al valor de silencio cuando no est hablando; cuando est hablando, el valor de actividad supera el valor de silencio. Este mtodo es similar a Camera.setMotionLevel(); ambos mtodos se utilizan para especificar cundo debe distribuirse el evento activity. No obstante, estos mtodos tienen efectos muy distintos en la publicacin de flujos:
Camera.setMotionLevel() est diseado para detectar movimiento y no afecta al

uso del ancho de banda. Aunque un flujo de vdeo no detecte movimiento, el vdeo contina envindose.

Microphone.setSilenceLevel() est diseado para optimizar el ancho de banda.

Cuando se considera que un flujo de audio est en silencio, no se envan datos de audio. Por el contrario, se enva un nico mensaje que indica que el silencio ha comenzado. Parmetros
silenceLevel:Number La cantidad de sonido necesaria para activar el micrfono y distribuir el evento activity. Admite valores comprendidos entre 0 y 100. timeout:int (default = -1) El nmero de milisegundos que deben transcurrir sin que exista

actividad para que Flash Player o Adobe AIR considere que el sonido se ha detenido y distribuya el evento dispatch. El valor predeterminado es 2000 (2 segundos). (Nota: el valor predeterminado que aparece en la firma (-1) es un valor interno que indica a Flash Player o Adobe AIR que utilice 2000.) Elementos de API relacionados flash.media.Camera.setMotionLevel() flash.media.Microphone.activityLevel flash.media.Microphone.activity flash.media.Microphone.gain flash.media.Microphone.silenceLevel flash.media.Microphone.silenceTimeout

setUseEchoSuppression () mtodo public function setUseEchoSuppression(useEchoSuppression:Boolean):void


Versin del lenguaje: ActionScript 3.0 Versiones de motor de ejecucin: AIR 1.0, Flash Player 9 Especifica si debe utilizarse la funcin de supresin de eco del cdec de audio. El valor predeterminado es false a no ser que el usuario haya seleccionado la reduccin de eco en el panel Configuracin del micrfono de Flash Player. La supresin del eco es un intento de reduccin de los efectos del acoplamiento acstico, que tiene lugar cuando el sonido que sale del altavoz es detectado por el micrfono del mismo sistema. (Esto es diferente a la cancelacin del eco acstico, que elimina completamente el acoplamiento.) El mtodosetUseEchoSuppression( se omite al llamar al mtodo getEnhancedMicrophone() para utilizar cancelacin de eco acstico.) Por lo general, la supresin del eco es aconsejable cuando el sonido que se est capturando se reproduce a travs de los altavoces (en lugar de a travs de auriculares). Si el archivo SWF permite a los usuarios especificar el dispositivo de salida del sonido, puede que resulte conveniente llamar aMicrophone.setUseEchoSuppression(true) si stos indican que estn utilizando altavoces y van a utilizar tambin el micrfono. Los usuarios tambin pueden ajustar estos parmetros en el panel de configuracin del micrfono de Flash Player. Parmetros
useEchoSuppression:Boolean Un valor booleano que indica si se utiliza la supresin del eco (true) o no (false).

Elementos de API relacionados

flash.media.Microphone.setUseEchoSuppression() flash.media.Microphone.useEchoSuppression

Informacin sobre eventos activity


Evento

Tipo de objeto de evento: flash.events.ActivityEvent propiedad ActivityEvent.type = flash.events.ActivityEvent.ACTIVITY Versin del lenguaje: ActionScript 3.0 Versiones de motor de ejecucin: AIR 1.0, Flash Player 9 Se distribuye cuando un micrfono inicia o detiene la grabacin por silencio detectado. Para especificar la cantidad de sonido necesaria para activar este evento con una propiedad activating de true, o la cantidad de tiempo que debe transcurrir sin que el sonido active este evento con una propiedad activating de false, utilice Microphone.setSilenceLevel(). Para que objeto Microphone pueda distribuir eventos activity, la aplicacin debe debe controlar la entrada, ya sea llamando a setLoopback( true ), mediante la deteccin de eventos sampleData, o asociando el micrfono a un objeto NetStream. La constante ActivityEvent.ACTIVITY define el valor de la propiedad type de un objeto de evento activity. Este evento tiene las propiedades siguientes: Propiedad
activating bubbles cancelable

Valor true si el dispositivo se est activando o false si se est desactivando.


false false; no hay ningn comportamiento predeterminado que cancelar.

currentTarget El objeto que procesa de forma activa el objeto de evento con un detector de eventos. target

El objeto que inicia o finaliza una sesin, por ejemplo, un objeto Camera o Microphone.

Elementos de API relacionados setSilenceLevel()

sampleData

Evento

Tipo de objeto de evento: flash.events.SampleDataEvent propiedad SampleDataEvent.type = flash.events.SampleDataEvent.SAMPLE_DATA Versin del lenguaje: ActionScript 3.0 Versiones de motor de ejecucin: Flash Player 10.1, AIR 2 Se distribuye cuando el micrfono tiene datos de sonido en el bfer. La propiedad Microphone.rate determina el nmero de muestras generadas por segundo. El nmero de muestras por evento es un factor del nmero de muestras por segundo y de la latencia entre llamadas. Define el valor de la propiedad type de un objeto de evento SampleDataEvent.

Este evento tiene las propiedades siguientes: Propiedad


bubbles position

Valor
false

cancelable false; no hay ningn comportamiento predeterminado que cancelar.

El punto desde el que se proporcionan los datos de audio.

Ejemplo ( Cmo utilizar este ejemplo ) En el ejemplo siguiente, se capturan 4 segundos de muestras de audio desde el micrfono predeterminado y, a continuacin, se reproduce el audio. Asegrese de que hay un micrfono conectado. () micSampleDataHandler es el detector de eventos para el evento sampleData del objeto Microphone. El mtodomicSampleDataHandler() obtiene las muestras a medida que estn disponibles y anexa los valores a un objeto ByteArray. Un objeto Timer se define en 4 segundos. Timer elimina el evento sampleData del detector de eventos del objeto Microphone, crea un objeto Sound y agrega un detector de eventossampleData para el objeto Sound. El detector de eventos sampleData para el objeto Sound, el mtodo playbackSampleHandler(), proporciona muestras de audio para el objeto Sound que se va a reproducir. Estas muestras de audio se recuperan desde el objeto ByteArray que almacena las muestras del micrfono. Las muestras se escriben en el objeto Sound dos veces desde se graban las muestras del micrfono en sonido monoaural y el objeto Sound solicita pares en estreo de las muestras. La propiedad rate del objeto Microphone se establece en 44 para que coincida con la frecuencia de muestreo de 44 kHz utilizada por los objetos Sound.
const DELAY_LENGTH:int = 4000;

var mic:Microphone = Microphone.getMicrophone(); mic.setSilenceLevel(0, DELAY_LENGTH); mic.gain = 100; mic.rate = 44; mic.addEventListener(SampleDataEvent.SAMPLE_DATA, micSampleDataHandler);

var timer:Timer = new Timer(DELAY_LENGTH); timer.addEventListener(TimerEvent.TIMER, timerHandler); timer.start();

var soundBytes:ByteArray = new ByteArray();

function micSampleDataHandler(event:SampleDataEvent):void { while(event.data.bytesAvailable) { var sample:Number = event.data.readFloat(); soundBytes.writeFloat(sample); } }

function timerHandler(event:TimerEvent):void { mic.removeEventListener(SampleDataEvent.SAMPLE_DATA, micSampleDataHandler); timer.stop(); soundBytes.position = 0; var sound:Sound = new Sound(); sound.addEventListener(SampleDataEvent.SAMPLE_DATA, playbackSampleHandler); sound.play(); }

function playbackSampleHandler(event:SampleDataEvent):void { for (var i:int = 0; i < 8192 && soundBytes.bytesAvailable > 0; i++) { var sample:Number = soundBytes.readFloat(); event.data.writeFloat(sample); event.data.writeFloat(sample); } }

En el ejemplo siguiente, se captura sonido utilizando la supresin de eco desde un micrfono cuando el usuario permite acceder al micrfono del ordenador. El mtodo Security.showSettings() muestra el cuadro de dilogo de Flash Player, que requiere permiso para acceder al micrfono del ordenador. La llamada a setLoopBack(true) redirige la entrada al altavoz speaker, por lo que se puede escuchar el sonido mientras se ejecuta el ejemplo. Dos detectores detectan eventos activity y status. El evento activity se distribuye al principio y al final (si procede) de la sesin y se captura con el mtodo activityHandler(), que controla la informacin en el evento. El evento status se distribuye si el objeto Microphone asociado revela informacin de estado; se captura y se controla con el mtodo statusHandler(). Nota: debe tener un micrfono conectado al ordenador para que este ejemplo funcione correctamente.

package { import flash.display.Sprite; import flash.events.*; import flash.media.Microphone; import flash.system.Security;

public class MicrophoneExample extends Sprite { public function MicrophoneExample() {

var mic:Microphone = Microphone.getMicrophone(); Security.showSettings("2"); mic.setLoopBack(true);

if (mic != null) { mic.setUseEchoSuppression(true); mic.addEventListener(ActivityEvent.ACTIVITY, activityHandler); mic.addEventListener(StatusEvent.STATUS, statusHandler); } }

private function activityHandler(event:ActivityEvent):void { trace("activityHandler: " + event); }

private function statusHandler(event:StatusEvent):void { trace("statusHandler: " + event); } } }

Elementos de API relacionados flash.events.SampleDataEvent

status

Evento

Tipo de objeto de evento: flash.events.StatusEvent propiedad StatusEvent.type = flash.events.StatusEvent.STATUS Versin del lenguaje: ActionScript 3.0 Versiones de motor de ejecucin: AIR 1.0, Flash Player 9 Se distribuye cuando un micrfono informa sobre su estado. Si el valor de la propiedad code es "Microphone.Muted", el usuario ha denegado el acceso del archivo SWF al micrfono. Si el valor de la propiedad code es "Microphone.Unmuted", el usuario ha permitido el acceso del archivo SWF al micrfono. No se distribuyen eventos de estado en aplicaciones de Adobe AIR; el acceso al micrfono no se puede modificar dinmicamente. En mayora de las plataformas, las aplicaciones de AIR pueden acceder siempre al micrfono. En Android, una aplicacin debe especificar el permiso RECORD_AUDIO de Android en el archivo descriptor de la aplicacin. De lo contrario, Android deniega el acceso al micrfono totalmente. Define el valor de la propiedad type de un objeto de evento status. Este evento tiene las propiedades siguientes: Propiedad
bubbles

Valor
false

cancelable code level target

false; no hay ningn comportamiento predeterminado que cancelar.

Descripcin del estado del objeto. La categora del mensaje, por ejemplo, "status", "warning" o "error". El objeto que informa sobre su estado.

currentTarget El objeto que procesa de forma activa el objeto de evento con un detector de eventos.

Elementos de API relacionados Microphone.getMicrophone()

Ejemplos Cmo utilizar este ejemplo


MicrophoneExample.as En el ejemplo siguiente, se captura sonido utilizando la supresin de eco desde un micrfono cuando el usuario permite acceder al micrfono del ordenador. El mtodo Security.showSettings() muestra el cuadro de dilogo de Flash Player, que requiere permiso para acceder al micrfono del ordenador. La llamada asetLoopBack(true) redirige la entrada al altavoz speaker, por lo que se puede escuchar el sonido mientras se ejecuta el ejemplo. Dos detectores detectan eventos activity y status. El evento activity se distribuye al principio y al final (si procede) de la sesin y se captura con el mtodo activityHandler(), que controla la informacin en el evento. El evento status se distribuye si el objeto Microphone asociado revela informacin de estado; se captura y se controla con el mtodo statusHandler(). Nota: debe tener un micrfono conectado al ordenador para que este ejemplo funcione correctamente.

package { import flash.display.Sprite; import flash.events.*; import flash.media.Microphone; import flash.system.Security;

public class MicrophoneExample extends Sprite { public function MicrophoneExample() { var mic:Microphone = Microphone.getMicrophone(); Security.showSettings("2"); mic.setLoopBack(true);

if (mic != null) { mic.setUseEchoSuppression(true); mic.addEventListener(ActivityEvent.ACTIVITY, activityHandler); mic.addEventListener(StatusEvent.STATUS, statusHandler); } }

private function activityHandler(event:ActivityEvent):void { trace("activityHandler: " + event); }

private function statusHandler(event:StatusEvent):void { trace("statusHandler: " + event); } } }