我在OS X上运行Android Emulator并尝试使用AudioRecord获取音频样本并使用FFT jar确定频率(用于调整应用)。
我在使用手机进行调试时遇到困难(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);
...
答案 0 :(得分:2)
来自android开发网站:“该平台还允许您录制音频和视频,移动设备硬件支持。要录制音频或视频,请使用MediaRecorder类。请注意,模拟器没有用于捕获音频或视频的硬件,但实际的移动设备可能提供这些功能,可通过MediaRecorder类访问。“
编辑:实际上可以通过模拟器录制音频。请参阅此问题:Can the Android emulator record and play back audio using pc hardware?
答案 1 :(得分:1)
在OS X上,我发现采样率为44100 的录制音频不能在Android模拟器中工作,但采样率为16000 工作