设为首页 加入收藏

TOP

Android录音程序之写入数据
2014-11-24 02:56:05 来源: 作者: 【 】 浏览:0
Tags:Android 录音 程序 写入 数据

while (isRecord == true) {
readsize = audioRecord.read(audiodata, 0, bufferSizeInBytes);
if (AudioRecord.ERROR_INVALID_OPERATION != readsize && fos!=null) {
try {
fos.write(audiodata);
} catch (IOException e) {
e.printStackTrace();
}
}
}


这里面有个明星的错误,就是每次read出来的数据,很可能不能把整个缓冲区audiodata充满。


所以,read方法才返回一个int表示实际接收到的数据数。实际测试也证明了这一点。


因此,直接把audiodata写入到文件,是完全错误的,导致写入了很多错误数据。


正确的做法是:


while (isRecord == true) {
readsize = audioRecord.read(audiodata, 0, bufferSizeInBytes);
if (AudioRecord.ERROR_INVALID_OPERATION != readsize && fos!=null) {
try {
fos.write(audiodata,0, readsize); // 只从当前位置,写入到实际读到的字节数
} catch (IOException e) {
e.printStackTrace();
}
}
}


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇浏览器战争:Chrome掌管世界 但中.. 下一篇详解Android的号码匹配

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: