2011-03-10 14 views
9

No tengo un teléfono Android, pero estoy tratando de desarrollarlo de todos modos. La única forma de probar mi aplicación en este momento es usar el emulador, que he leído no admite la grabación de audio. Sin embargo, leí sobre el comando de inicio "-audio" que permite la entrada/salida de audio desde su PC usando el backend 'winaudio'. No he podido hacer que funcione, ¿es posible grabar usando el micrófono de mi PC? Si es así, ¿qué estoy haciendo mal?¿Puede el emulador de Android grabar y reproducir audio utilizando hardware de PC?

Respuesta

2

Lo mejor de mi conocimiento: Para poder utilizar MediaRecorder necesita construir la fuente completa para que pueda usar la instalación de grabación, junto con la opción que ha mencionado.

  • Obtenga el código fuente de la versión de Android a la que se dirige.
  • construir la imagen genérica por: (. Es decir, elegir la opción genérica, no simulador)
    1. . build/envsetup.sh
    2. lunch 1
    3. make -j<number> donde number = #cores apoyo de su PC; excluir los soportes angulares
  • cd out/target/.../generic, ... representa el resto de la ruta hasta genérica; establece la variable de entorno ANDROID_PRODUCTION_OUT en este directorio.
  • ejecuta el emulador desde el directorio out/host /.../ bin con la opción -audio.

Esto debería funcionar idealmente.

La sdk predeterminada no es compatible con su caso de uso, como ha mencionado correctamente aquí.

+0

Estoy en ventanas, acabo de leer que la construcción del código fuente sólo es posible en OSX y Linux. ¿Es esto correcto? ¿Hay alguna otra manera? – Steve

+0

Creo que eso es correcto. Además: para Froyo y menos, necesita Linux de 32 bits; para gingerbread y superior, necesitas Linux de 64 bits. No tengo conocimiento de ninguna otra forma ... – Mno

6

La grabación de audio es posible al menos en el emulador estándar 2.3.3 en Windows 7; Lo he probado y funciona. Sin embargo, el audio grabado sonaba un poco raro (lento) en mi caso. No investigué la causa.

Necesita agregar compatibilidad de grabación y reproducción de audio al emulador (Administrador de Android SDK y AVD -> Dispositivos virtuales -> Editar -> Hardware -> Nuevo). Luego use la [API MediaRecorder] [1] para grabar (MediaRecorder.AudioSource.MIC).

Código es:

fMediaRecorder= new MediaRecorder(); 
fMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); 
fMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_NB); 
fMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); 

fMediaRecorder.setAudioChannels(1); 
fMediaRecorder.setAudioSamplingRate(8000); 

fMediaRecorder.setOutputFile(fTmpFile.getAbsolutePath()); 

fMediaRecorder.prepare(); 

fMediaRecorder.start(); 

también necesita

<uses-permission android:name="android.permission.RECORD_AUDIO"/> 

en sus AndroidManifest.xml

funciona para mí, pero el audio está distorsionado.

+0

¿Podrías por favor cargar algún código fuente que funcione en Windows7 para grabar el sonido en el emulador de Android? Lo necesito de verdad. –

+0

agregó un código a mi respuesta. – Tom

+0

Ok Gracias por su respuesta. He terminado con el mío Y su trabajo en 1.6 también. –

Cuestiones relacionadas