¿Puede el emulador de Android grabar y reproducir audio utilizando hardware de PC?
No tengo un teléfono Android, pero estoy tratando de desarrollar para él de todos modos. La única manera de probar mi aplicación en este momento es usar el emulador, que he leído no es compatible con la grabación de audio. Sin embargo, he leído sobre el comando de inicio "-audio" que permite la entrada / salida de audio de su PC con el backend 'winaudio'. No he sido capaz de conseguir que funcione, sin embargo, ¿es posible grabar con el micrófono de mi PC? Si es así, ¿qué estoy haciendo mal?
- Android: silencie el micrófono mientras graba vídeo
- ¿Cómo evitar que el android invierta la imagen de la cámara frente a frente?
- Obtener la duración del archivo de audio
- Grabar sonido en Android y leer Amplitud
- Cómo comprimir archivos WAV en android
- Reproducción de sonido procedente del micrófono en tiempo real
- Cómo grabar llamadas telefónicas en android?
- ¿Es posible grabar vídeo de la cámara a través de un búfer en un archivo?
- Android deja de grabar falla
- Error de cámara 100 en .takePicture SÓLO DESPUÉS de detener una grabación de vídeo
- Android: graba video con enfoque automático "continuo"
- Grabar la salida de audio de Android
- Aplicación de grabadora de voz android
La grabación de audio es posible por lo menos en el emulador estándar de 2.3.3 en Windows 7; Lo he probado y funciona. Sin embargo, el audio grabado suena un poco extraño (lento) en mi caso. No investigue la causa.
Necesita agregar soporte de grabación de audio + reproducción al emulador (SDK de Android y administrador de AVD -> Dispositivos virtuales -> Editar -> Hardware -> Nuevo). A continuación, utilice [MediaRecorder API] [1] para grabar (MediaRecorder.AudioSource.MIC).
El 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 necesitas
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
En tu AndroidManifest.xml
Funciona para mí, pero el audio está distorsionado.
A lo mejor de mi conocimiento: Para poder usar MediaRecorder necesitas construir la fuente entera de modo que puedas usar la facilidad de grabación, junto con la opción que has mencionado.
- Obtenga el código fuente de la versión de Android que está orientando.
- Construir la imagen genérica por:
-
. build/envsetup.sh
-
lunch 1
(es decir, elegir la opción genérica, no el simulador) - Make
make -j<number>
dondenumber
= #cores soportado por su pc; Excluir los corchetes angulares
-
-
cd out/target/.../generic
, … representa el resto del camino hasta genérico; Establezca la variable de entorno ANDROID_PRODUCTION_OUT en este directorio. - Ejecute el emulador desde el directorio out / host /…/ bin con la opción -audio.
Esto debería funcionar idealmente.
El sdk predeterminado no es compatible con su caso de uso, como usted ha mencionado correctamente aquí.
No. No es posible utilizar el emulador para grabar sonido. Usted tendrá que codificar la lógica de su programa y luego desplegar el apk real a su teléfono, con el fin de probar su funcionalidad.
Por favor, compruebe este enlace ya que tiene la referencia oficial de mi comentario: http://developer.android.com/intl/es/guide/topics/media/audio-capture.html
- Determinar si la barra de acción está dividida
- ¿Cómo generar reportes de findbugs usando gradle script?