首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Android中录制音频文件

如何在Android中录制音频文件
EN

Stack Overflow用户
提问于 2011-04-18 04:19:31
回答 3查看 30.6K关注 0票数 23

我在android上工作。如何通过麦克风录制音频文件,以及如何将录制的文件保存到模拟器中?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-04-18 14:58:41

在Android中录制音频很容易。您需要做的是:

1)创建媒体记录类的对象:MediaRecorder recorder = new MediaRecorder();

2)在模拟器中,您无法将记录的数据存储在内存中,因此您必须将其存储在SD卡中。因此,首先检查SD卡的可用性:然后使用以下代码开始录制。

String status = Environment.getExternalStorageState();
if(status.equals("mounted")){
   String path = your path;
}

recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile(path);
recorder.prepare();
recorder.start();

3)要停止,重写活动的停止方法

 recorder.stop();
 recorder.release();
票数 25
EN

Stack Overflow用户

发布于 2011-04-18 06:23:53

基本上,没有简单的方法来写音频文件作为简单的WAV文件。AudioRecorder生成原始线性PCM格式的数据。而Android的API只给你提供音频数据缓冲。

你需要自己创建WAV文件。这对你来说意味着,你需要自己添加所有的块: RIFF头,FMT和数据块。

票数 2
EN

Stack Overflow用户

发布于 2012-09-11 13:54:18

我曾尝试在android中录制WAV文件。但不知何故,它只记录了。WAV文件只在立体声和你应该使用录音机与以下参数

recorder = new AudioRecord(MediaRecorder.AudioSource.MIC,
                        RECORDER_SAMPLERATE, AudioFormat.CHANNEL_IN_MONO,RECORDER_AUDIO_ENCODING, bufferSize);

        recorder.startRecording();

在记录器中,您需要将所有数据写入到一个文件中,还需要给出头信息

那就这么做吧

recorder.stopRecording();

但我只有一个问题,即使我给AudioFormat.CHANNEL_IN_MONO..it仍然记录在立体声格式。希望我的回答能对你有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5696168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档