最近在做Android开发录音方面的开发,利用mediarecord录取声音,得到的音频严重失真,几乎听不出声音的内容,但从声音可以确定的是,这个声音确实是刚才录进去的。开始以为是采样率方面出错,但从打印信息看到,audio系统获取的采样率是8000,通道数是1,调用编码器时识别的采样率也是8000,通道数也是1。现在很迷糊,不知道什么原因导致系统录音失真,请大神帮我定位一下问题。
7条回答 默认 最新
- 媒体盒子 2014-12-15 02:43关注
你试试我这段代码看能不能录,
public static boolean record(String savePath){
LogHelper.logPrint(MediaUtils.class, "record savePath = " + savePath);
boolean ret = true;
if(mediaRecorder != null){
mediaRecorder.release();
mediaRecorder = null;
}mediaRecorder = new MediaRecorder(); if(mediaRecorder != null){ mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT); mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT); mediaRecorder.setOutputFile(savePath); try { mediaRecorder.prepare(); } catch (IllegalStateException e) { // TODO Auto-generated catch block ret = false; e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block ret = false; e.printStackTrace(); } if(ret){ mediaRecorder.start(); } }else{ LogHelper.errorPrint(MediaUtils.class, "create mediaRecorder failed!!!"); ret = false; } return ret; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 用verilog实现tanh函数和softplus函数
- ¥15 Hadoop集群部署启动Hadoop时碰到问题
- ¥15 求京东批量付款能替代天诚
- ¥15 slaris 系统断电后,重新开机后一直自动重启
- ¥15 QTableWidget重绘程序崩溃
- ¥15 谁能帮我看看这拒稿理由啥意思啊阿啊
- ¥15 关于vue2中methods使用call修改this指向的问题
- ¥15 idea自动补全键位冲突
- ¥15 请教一下写代码,代码好难
- ¥15 iis10中如何阻止别人网站重定向到我的网站