0

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

文件大小非常重要,因为我们不想吃掉数据计划。声音质量很重要,因为信息需要被识别,但它需要的带宽/质量应该比音乐文件少得多。

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

任何关于比特率等良好起点的提示也将受到欢迎。

我们最终需要能够在 Windows 和 iOS 上播放它们,但如果需要一些后端转换也没关系。似乎没有一个有效的跨平台格式/编码器,所以这就是我们将投入工作的地方。

4

1 回答 1

1

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

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

于 2013-04-11T14:58:27.977 回答