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立通用图像:
-
. build/envsetup.sh
-
lunch 1
(即select通用选项,而不是模拟器) -
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