2010-12-13 21 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

相关问题