2010-02-04 13 views
7

Tengo que implementar AEC en la aplicación de videoconferencia Flex. Sé que no se puede hacer directamente en Flash. Estoy pensando en escribir una aplicación nativa o una biblioteca que hará AEC fuera de Flex.Cancelación de eco acústico en Flash/Flex usando librerías nativas

Hasta donde sé Adobe Connect Pro está utilizando alguna biblioteca externa que haga AEC. Me gustaría seguir esta dirección y hacer algo similar.

Llega dos posibilidades en mi mente:

1) independend filtro AEC personalizado.

El filtro AEC personalizado se ejecutará en segundo plano y procesará todos los datos del micrófono y la tarjeta de sonido, y realizará AEC. La señal de eco será la información que se reproducirá pero se retrasará en un búfer temporal, algo como esto: aec (entrada, entrada retrasada, salida).

No sé si funciona, porque la entrada de micrófono Flash no conoce mi entrada personalizada y la misma con los altavoces. ¿Pero cómo se hace en WinXP/Vista que tiene AEC en el nivel del sistema?

2) Filtro AEC que interactúa con Flex's NativeProcess.

El filtro será operado por NativeProcess. La aplicación Flex pasará el sonido del micrófono, la voz remota recibida al filtro y devolverá la voz con el eco eliminado y luego Flex lo enviará a los altavoces. ¿Será correcto?

Si el) Método 2 está bien entonces he siguientes preguntas:

  1. Voy a comenzar con AEC de Speex así, en qué formato deben ser los datos pased de Flex? Si elijo el códec Flex Speex para compresión de sonido, ¿puedo pasarlo directamente a la biblioteca speex?
  2. ¿Será el rendimiento correcto? Llamar a la biblioteca NativeProcess cada buffer de frame de sonido puede llevar mucho tiempo, creo.
  3. ¿Por qué no hay una implementación AEC en AS3 que se pueda usar directamente desde Flash? Hasta donde sé hacer AEC, debe tener datos de eco y datos de micrófono (en Flash 10 hay acceso directo al micrófono). Definitivamente hay algo que deja de hacerlo así, pero aún no sé qué es :)
  4. ¿Hay alguna implementación gratuita de AEC o una biblioteca DSP con la que pueda usar, excepto la de Speex?

PS Ahora soy un experto en Flash/Flex tan mal por algunas preguntas tontas :)

Gracias de antemano por la ayuda, ternyk

Respuesta

2

Buenas noticias - que está construido en Flash Player 10.3 ahora :) Lea las notas de la versión y asegúrese de compilar contra Flex 4.5 SDK

1

En Java, AEC es posible y puede acceder a las funcionalidades de Java en AIR utilizando Merpi. Puede ser que deberías probar esto.

Gracias

Cuestiones relacionadas