2010-12-13 56 views
5

我在OS X上運行Android模擬器,並嘗試使用AudioRecord獲取音頻樣本並使用FFT jar(調整應用程序)確定頻率。Android模擬器可以拾取音頻嗎?

我在使用手機調試時遇到困難(http://stackoverflow.com/questions/4425127/android-galaxy-s-phone-adb-debug-bridge-trouble-on-mac-osx)我想使用模擬器。

當我從模擬器獲取音頻樣本時,它顯示爲包含隨機值。我會假設它正在錄製某些內容,但我不確定它是否來自我的電腦麥克風。任何人都可以確認這些值可能來自哪裏,以及是否有可能使用模擬器進行記錄。

我初始化AudioRecord對象是這樣的:

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

回答

2

從Android開發人員網站:「該平臺還可以讓您錄製音頻和視頻,其中由移動設備硬件支持錄製音頻或視頻。 ,使用MediaRecorder類注意,仿真器不具備的硬件捕獲音頻或視頻,但實際的移動設備可能提供這些功能,通過MediaRecorder類訪問「

編輯:。它實際上可能有可能通過emul錄製音頻ATOR。看到這個問題:Can the Android emulator record and play back audio using pc hardware?

+0

謝謝。我發現了,但是想知道接下來會發生什麼?隨機噪聲? – chaimp 2010-12-13 02:33:15

+1

它可能爲您生成隨機值。 – 2010-12-13 02:34:14

+1

在仿真器中運行代碼時,您可以捕獲音頻。檢查這 http://stackoverflow.com/q/5254994/87918 – 2012-02-26 16:30:12

1

在OS X上,我發現,錄製音頻與44100 採樣率確實在Android模擬器不工作,但16000 採樣率確實工作。

+1

哇,我不能相信我三年前問過這個問題。感謝你的回答。對於任何試圖這樣做的人來說,知道它實際上是很好的。 – chaimp 2014-01-15 23:57:44

相關問題