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

问题描述 投票:10回答:4

我没有Android手机,但无论如何我都在努力开发。目前测试我的应用程序的唯一方法是使用仿真器,我所阅读的仿真器不支持音频记录。但是,我读到有关启动命令“ -audio”的信息,该命令允许使用“ winaudio”后端从您的PC进行音频输入/输出。我一直无法使用它,是否可以使用PC的麦克风进行录音?如果是这样,我在做什么错?

android audio emulation recording
4个回答
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

对我有用,但音频失真。


2
投票

my所知:要使用MediaRecorder,您需要构建整个源,以便可以使用记录工具以及所提到的选项。

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

理想情况下应该可以工作。

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


2
投票

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

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


0
投票

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

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

enter image description here

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

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.