android - Android编码器和语音邮件的文件格式

标签 android audio recording

我正在开发一个Android应用程序,该应用程序需要向服务器发送短(小于60秒)的语音消息。

文件大小非常重要,因为我们不想吃光数据计划。声音质量对于需要识别消息很重要,但是与音乐文件相比,它需要的带宽/质量要低得多。

哪种标准Android音频编码器(http://developer.android.com/reference/android/media/MediaRecorder.AudioEncoder.html)和文件格式(http://developer.android.com/reference/android/media/MediaRecorder.OutputFormat.html)最适合此应用程序?

也欢迎任何关于比特率等良好起点的暗示。

我们最终需要能够在Windows和iOS上播放它们,但是也可以进行一些后端转换。似乎没有有效的跨平台格式/编码器,因此我们将在这里进行工作。

最佳答案

AMR专门针对语音压缩,是普通电路交换语音 call 最常用的编解码器。窄带变体(AMR-NB,8kHz采样率)仍然是最广泛使用的,应在很多方面得到支持您可以找到的任何手机。宽带型号(AMR-WB,16kHz采样率)可提供更好的质量,如果目标设备支持它并且您可以节省带宽,则它是首选。
AMR的典型比特率范围约为6到14 kbit / s。
我不确定是否有任何Windows媒体播放器可以直接处理带有AMR音频的.3GP文件(可能是VLC)。但是,有些转换器可以使用。

HE-AAC(v1)也可以用于语音编码,但是this page建议Android上的编码支持仅限于Android 4.1及更高版本。合适的速率可能是16 kHz / 64 kbps。

关于android - Android编码器和语音邮件的文件格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15857482/

相关文章:

php - 从原始文件中保存音频文件

java - 改变音高时发声器发出咔哒声

android - 录制音频并保存到应用程序的数据文件夹中

android - 如何获取Android接近传感器的当前值?

javascript - 输入聚焦时在 iOS(和所有移动设备)上自定义滚动

android - 优化 firestore querysnapshot 监听器以在 android 中读取

real-time - 实时录制多声道音频输入

android - 如何在列表中获取所有共享应用程序(安装在设备上)?

swift - 铃声音量 slider ,快速

c - ALSA捕获示例中的段错误