我正在开发从麦克风录制语音的应用程序,目前我将录制的音频存储在wave文件中,但是wave的大小正成为一个问题.
我才知道android没有mp3解码器是真的吗?如何以压缩形式存储录制的音频?
我使用AudioRecord类进行录制,不想使用MediaRecorder.
解决方法:
使用AudioRecord并没有给你很多选择.它仅以PCM格式存储音频.您只能通过将通道配置设置为CHANNEL_IN_MONO并将音频格式设置为ENCoding_PCM_8BIT来降低尺寸.此外,您可以尝试扩展AudioRecord类并覆盖read()方法.然后你必须自己转换音频,但不建议这样做.
我知道你不想要这个,但最好的选择是重构你的代码以使用MediaRecorder.以下是参考文档中的示例:
MediaRecorder recorder = new MediaRecorder(); recorder.setAudioSource(MediaRecorder.AudioSource.MIC); recorder.setoutputFormat(MediaRecorder.OutputFormat.THREE_GPP); recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); recorder.setoutputfile(PATH_name); recorder.prepare(); recorder.start(); // Recording is Now started ... recorder.stop(); recorder.reset(); // You can reuse the object by going back to setAudioSource() step recorder.release(); // Now the object cannot be reused
在这个网站http://developer.android.com/guide/appendix/media-formats.html#core上你有一个很好的表格,展示了所有支持的格式,考虑到AndroID版本.试试这些AAC LC,AMR-NB,AMR-WB.除尺寸外,检查质量.
总结以上是内存溢出为你收集整理的java – 在android中用于存储录制的音频格式全部内容,希望文章能够帮你解决java – 在android中用于存储录制的音频格式所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)