首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MediaRecorder截断文件末尾

MediaRecorder截断文件末尾
EN

Stack Overflow用户
提问于 2013-04-09 02:35:16
回答 1查看 1.4K关注 0票数 4

在我的应用程序中,我使用MediaRecorder在m4a (AAC编码)中录制音频。我所有的录音都被缩短了(大约半秒)。对于我的应用程序来说,拥有整个文件是很重要的。这是一个bug,还是我遗漏了什么?

记录代码:

代码语言:javascript
复制
       //set up recorder
        recorder = new MediaRecorder();
        recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_RECOGNITION);
        recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
        recorder.setAudioChannels(1);
        recorder.setAudioSamplingRate(16000);
        recorder.setOutputFile(fileName);
        recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);

        //begin recording
        recorder.prepare();
        recorder.start();

停止录制代码:

代码语言:javascript
复制
        //stop recording
        recorder.stop();
        recorder.release();
        recorder = null;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-07 08:39:11

这似乎是Android基于AAC的音频编码器中的一个错误。我发现唯一可行的解决方案是使用基于AMR的音频编码器。不幸的是,除了人类的声音之外,AMR_WB听起来并不是那么好。

代码语言:javascript
复制
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_WB);

据我所知,唯一的另一种选择是使用AudioRecord,这要困难得多。

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

https://stackoverflow.com/questions/15886416

复制
相关文章

相似问题

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