Android 模拟器可以拾取音频吗?

Posted

技术标签:

【中文标题】Android 模拟器可以拾取音频吗?【英文标题】:Can Android Emulator pick up audio? 【发布时间】:2010-12-13 02:14:16 【问题描述】:

我在 OS X 上运行 android Emulator 并尝试使用 AudioRecord 采集音频样本并使用 FFT jar 确定频率(用于调谐应用程序)。

我无法使用手机进行调试 (http://***.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);
 ...

【问题讨论】:

【参考方案1】:

来自 android 开发网站:“该平台还允许您在移动设备硬件支持的情况下录制音频和视频。要录制音频或视频,请使用 MediaRecorder 类。请注意,模拟器没有捕获音频或视频的硬件,但实际的移动设备可能会提供这些功能,可通过 MediaRecorder 类访问。"

编辑:实际上可以通过模拟器录制音频。看到这个问题:Can the Android emulator record and play back audio using pc hardware?

【讨论】:

谢谢。我发现了,但想知道它会发生什么?随机噪音? 它可能会为您生成随机值。 您可以在模拟器中运行代码时捕获音频。检查这个***.com/q/5254994/87918【参考方案2】:

在 OS X 上,我发现以 44100 的采样率录制音频在 Android 模拟器中不起作用,但 16000 的采样率可以工作.

【讨论】:

哇,我不敢相信我在三年前就问过这个问题。感谢你的回答。对于任何试图这样做的人来说,知道这一点实际上是件好事。

以上是关于Android 模拟器可以拾取音频吗?的主要内容,如果未能解决你的问题,请参考以下文章

安卓模拟器可以播放音频吗

Android 模拟器上的音频输入

Android 模拟器音频输入捕获

android:在模拟器上使用 MediaPlayer 录制音频

Android 模拟器似乎以 96khz 录制音频

Android 模拟器导致 macOS 上的音频出现问题