2010-12-13 17 views
5

Używam emulatora Androida na OS X i próbuję użyć AudioRecord do pobrania próbki dźwięku i określenia częstotliwości za pomocą słoika FFT (dla aplikacji tuningowej).Czy Android Emulator może odbierać audio?

Mam trudności z korzystaniem z telefonu do debugowania (http://stackoverflow.com/questions/4425127/android-galaxy-s-phone-adb-debug-bridge-trouble-on-mac-osx), więc Chcę użyć emulatora.

Po pobraniu próbki dźwięku z emulatora wydaje się zawierać losowe wartości. Zakładam, że coś nagrywa, ale nie jestem pewien, czy pochodzi on z mikrofonu mojego komputera. Czy ktokolwiek może potwierdzić, z czego mogą pochodzić te wartości i czy można użyć emulatora do nagrywania?

ja inicjowania obiektu AudioRecord takiego:

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); 
... 

Odpowiedz

2

Z android miejscu dev: „Platforma umożliwia także nagrywanie audio i wideo, w którym obsługiwany przez sprzęt urządzenie przenośne do nagrywania dźwięku lub wideo. użyj klasy MediaRecorder Zauważ, że emulator nie ma sprzętu do przechwytywania urządzenia audio lub wideo, ale rzeczywiste telefony mogą dostarczyć te możliwości, dostępnych za pośrednictwem klasy MediaRecorder "

EDIT:.. to może faktycznie być możliwe nagrywanie dźwięku przez emul ator. Zobacz na to pytanie: Can the Android emulator record and play back audio using pc hardware?

+0

Dzięki. Znalazłem to, ale zastanawiam się, co się wtedy dzieje? Losowy hałas? – chaimp

+1

jest możliwe, że generuje losowe wartości dla ciebie. –

+1

Możesz przechwytywać dźwięk podczas uruchamiania kodu w emulatorze. Sprawdź to http://stackoverflow.com/q/5254994/87918 –

1

na OS X, Znalazłem, że nagrywanie dźwięku z częstotliwością próbkowania 44100 nie pracę w emulatorze Androida, ale częstotliwość próbkowania 16000 robi pracy.

+1

Wow, nie mogę uwierzyć, że zadałem to pytanie ponad trzy lata temu. Dziękuję za odpowiedź. Dobrze jest wiedzieć, czy ktoś próbuje to zrobić. – chaimp