今天做语音添加时发现使用MediaRecorder.setOutputFile(file)覆盖同一个语音文件的时候会将上一个语音文件从头去覆盖,而不是删除后在创建的那种。
但是播放语音发现,如果上一个被覆盖的语音内容超过当前录入的语音的时候会将上一个语音的后半部分和当前语音拼接在一起。等于覆盖的只是插入式的覆盖而不是整个文件的覆盖。 说到这,应该都明白了, 我这边也没有深究到底是什么原因造成的,就去判断了下上个语音是否存在 (存在删除),
File dirs = new File(mDir); if (dirs.exists()){ dirs.delete(); }
然后重新录入就解决了。如果大家发现有什么不用删除之修改保存方法的可以回复下我。谢谢!