我没有Android手机,但无论如何我都在努力开发。目前测试我的应用程序的唯一方法是使用仿真器,我所阅读的仿真器不支持音频记录。但是,我读到有关启动命令“ -audio”的信息,该命令允许使用“ winaudio”后端从您的PC进行音频输入/输出。我一直无法使用它,是否可以使用PC的麦克风进行录音?如果是这样,我在做什么错?
至少在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
中
对我有用,但音频失真。
据my所知:要使用MediaRecorder,您需要构建整个源,以便可以使用记录工具以及所提到的选项。
. build/envsetup.sh
lunch 1
(即选择通用选项,而不是模拟器)]make -j<number>
,其中number
=您的PC支持的#cores;排除尖括号cd out/target/.../generic
,...代表其余的通用路径;将环境变量ANDROID_PRODUCTION_OUT设置到此目录。理想情况下应该可以工作。
默认sdk不支持您的用例,正如您在此处正确提到的。
没有无法使用仿真器录制声音。您必须编码程序的逻辑,然后将实际的apk部署到手机上,以测试其功能。
请检查此链接,因为它具有我的评论的官方参考:http://developer.android.com/intl/es/guide/topics/media/audio-capture.html