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

我没有安卓手机,但我正在努力为它开发。 目前testing我的应用程序的唯一方法是使用我读过的模拟器不支持audio录制。 不过,我读了关于启动命令“ – audio”,它允许您的电脑使用'winaudio'后端audioinput/输出。 虽然我一直没有得到它的工作,是否有可能使用我的电脑的麦克风录音? 如果是这样,我做错了什么?

至less在Windows 7的标准2.3.3模拟器中可以录制audio; 我已经尝试过,它的工作原理。 然而,在我的情况下录制的audio听起来有点怪(慢)。 我没有调查原因。

您需要为模拟器(Android SDK和AVDpipe理器 – >虚拟设备 – >编辑 – >硬件 – >新build)添加audio录制和回放支持。 然后使用[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

适用于我,但audio是扭曲的。

所知:为了能够使用MediaRecorder,您需要构build完整的源代码,以便您可以使用录制工具以及您提到的选项。

  • 获取您所定位的Android版本的源代码。
  • build立通用图像:
    1. . build/envsetup.sh
    2. lunch 1 (即select通用选项,而不是模拟器)
    3. make -j<number>其中number =你的电脑支持的#cores; 排除尖括号
  • cd out/target/.../generic ,…表示cd out/target/.../generic的其余path; 将环境variablesANDROID_PRODUCTION_OUT设置为该目录。
  • 使用-audio选项从out / host /…/ bin目录运行模拟器。

这应该是理想的工作。

默认的sdk不支持你的用例,正如你在这里正确地提到的那样。

不可以。使用模拟器来录制声音是不可能的。 你将不得不编写你的程序的逻辑,然后部署实际的apk到你的手机上,以便testing它的function。

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