我在 OS X 上运行 Android Emulator 并尝试使用 AudioRecord 采集音频样本并使用 FFT jar(用于调谐应用程序)确定频率。
我在使用手机进行调试时遇到困难 (http://stackoverflow.com/questions/4425127/android-galaxy-s-phone-adb-debug-bridge-trouble-on-mac-osx) 所以我想使用模拟器。
当我从模拟器中提取音频样本时,它似乎包含随机值。我会假设它正在录制一些东西,但我不确定它是否来 self 电脑的麦克风。任何人都可以确认这些值可能来自什么以及是否可以使用模拟器进行记录。
我正在像这样初始化 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);
...
最佳答案
来自 android 开发站点:“该平台还允许您在移动设备硬件支持的情况下录制音频和视频。要录制音频或视频,请使用 MediaRecorder 类。请注意,模拟器没有捕获音频或视频的硬件,但实际的移动设备可能会提供这些功能,可通过 MediaRecorder 类访问。”
编辑:实际上可以通过模拟器录制音频。看到这个问题:Can the Android emulator record and play back audio using pc hardware?
关于android - Android Emulator 可以拾取音频吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4425332/