Android模拟器可以使用PC硬件录制和播放音频吗?

时间:2011-03-10 03:07:02

标签: android audio emulation recording

我没有安卓手机,但无论如何我正试图为它开发。目前测试我的应用程序的唯一方法是使用我读过的不支持录音的模拟器。但是,我读到了启动命令“-audio”,它允许使用'winaudio'后端从你的电脑输入/输出音频。我无法让它工作,是否可以使用我的电脑的麦克风录音?如果是这样,我做错了什么?

4 个答案:

答案 0 :(得分:7)

至少在Windows 7上的标准2.3.3仿真器中可以录制音频;我试过了它,它的工作原理。然而,在我的情况下,录制的音频听起来有点奇怪(慢)。我没有调查原因。

您需要为模拟器添加录音+播放支持(Android SDK和AVD管理器 - >虚拟设备 - >编辑 - >硬件 - >新)。然后使用[MediaRecorder API] [1]录制(MediaRecorder.AudioSource.MIC)。

代码是:

fMediaRecorder= new MediaRecorder();
fMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
fMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_NB);
fMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);

fMediaRecorder.setAudioChannels(1);
fMediaRecorder.setAudioSamplingRate(8000);

fMediaRecorder.setOutputFile(fTmpFile.getAbsolutePath());

fMediaRecorder.prepare();

fMediaRecorder.start();

您还需要

<uses-permission android:name="android.permission.RECORD_AUDIO"/> 

AndroidManifest.xml

适用于我,但音频失真。

答案 1 :(得分:6)

是的,可以。 在Mac OSX上,必须在打开后的模拟器设置上设置麦克风

打开仿真器后,在右侧栏(音量按钮位于本地)上,单击三个点(列表中的最后一个按钮)以打开仿真器设置。

enter image description here

在设置屏幕(称为“扩展控件”)上,选择“麦克风”,然后打开选项“ 虚拟麦克风使用主机音频输入”。

enter image description here

答案 2 :(得分:2)

充分利用我的知识:为了能够使用MediaRecorder,您需要构建整个源代码,以便您可以使用录制工具以及您提到的选项。

  • 获取您要定位的Android版本的源代码。
  • 通过以下方式构建通用图像:
    1. . build/envsetup.sh
    2. lunch 1(即选择通用选项,而不是模拟器)
    3. make -j<number>您的电脑支持number = #cores;排除尖括号
  • cd out/target/.../generic,...代表通用的其余路径;将环境变量ANDROID_PRODUCTION_OUT设置为此目录。
  • 使用-audio选项从out / host /.../ bin目录运行模拟器。

理想情况下这应该有效。

默认的sdk不支持您的用例,正如您在此处正确提到的那样。

答案 3 :(得分:2)

没有。无法使用模拟器录制声音。您必须对程序的逻辑进行编码,然后将实际的apk部署到手机中,以便测试其功能。

请检查此链接,因为它有我的评论的官方参考:http://developer.android.com/intl/es/guide/topics/media/audio-capture.html