2010-12-13 16 views
5

Ejecuto Android Emulator en OS X e intento usar AudioRecord para tomar una muestra de audio y determinar la frecuencia usando un fift FFT (para una aplicación de ajuste).¿Puede Android Emulator recoger audio?

Tengo dificultades para usar el teléfono para depurar (http://stackoverflow.com/questions/4425127/android-galaxy-s-phone-adb-debug-bridge-trouble-on-mac-osx) Quiero usar el emulador

Cuando tomo una muestra de audio del emulador, parece contener valores aleatorios. Supongo que está grabando algo, pero no estoy seguro si proviene del micrófono de mi computadora. ¿Alguien puede confirmar de dónde vienen estos valores y si es posible usar el emulador para grabar?

Estoy inicializar el objeto AudioRecord así:

int frequency = 8000; 
int channelConfiguration = AudioFormat.CHANNEL_CONFIGURATION_MONO; 
int audioEncoding = AudioFormat.ENCODING_PCM_16BIT; 

try { 
     // Create a new AudioRecord object to record the audio. 
     int bufferSize = AudioRecord.getMinBufferSize(frequency,channelConfiguration,audioEncoding); 

     AudioRecord audioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC, 
                frequency, channelConfiguration, 
                audioEncoding, bufferSize); 
... 

Respuesta

2

Desde el sitio dev androide: "La plataforma también le permite audio y de vídeo de grabación, donde apoyado por el hardware de dispositivos móviles para grabar audio o vídeo. , utilice la clase MediaRecorder tenga en cuenta que el emulador no tiene hardware para capturar los dispositivos móviles de audio o vídeo, pero son reales probabilidades de proporcionar estas capacidades, accesible a través de la clase MediaRecorder "

EDIT:.. en realidad, puede ser posible grabar audio a través del emul ator. Ver esta pregunta: Can the Android emulator record and play back audio using pc hardware?

+0

Gracias. Lo encontré, pero me pregunto qué está mejorando entonces. Ruido aleatorio? – chaimp

+1

es posible que genere valores aleatorios para usted. –

+1

Puede capturar audio cuando ejecuta su código en emulador. Compruebe esto http://stackoverflow.com/q/5254994/87918 –

1

En OS X, me he dado cuenta que la grabación de audio con una frecuencia de muestreo de 44100 no se funcionan en el emulador de Android, pero una frecuencia de muestreo de 16000 lo hace trabajo.

+1

Wow, no puedo creer que hice esta pregunta hace más de tres años. Gracias por la respuesta. En realidad, es bueno saber si alguien trata de hacer esto. – chaimp