2013-04-07 55 views
0

我正在開發一個需要向服務器發送簡短(< 60秒)語音消息的Android應用程序。用於語音消息的Android編碼器和文件格式

文件大小非常重要,因爲我們不想吃掉數據計劃。聲音質量對於消息需要被識別的重要性非常重要,但它應該比音樂文件需要的帶寬/質量要少得多。

哪個標準Android音頻編碼器(http://developer.android.com/reference/android/media/MediaRecorder.AudioEncoder.html)和文件格式(http://developer.android.com/reference/android/media/MediaRecorder.OutputFormat.html)可能最適合此應用程序?

任何有關比特率等良好起點的暗示都會受到歡迎。

我們需要最終能夠在Windows和iOS上播放它們,但是如果需要進行一些後端轉換,那麼也可以。似乎沒有一個高效的跨平臺格式/編碼器,所以我們將把它放在工作中。

回答

1

AMR旨在精確地進行語音壓縮,並且是最常用於正常電路交換語音呼叫的編解碼器。
窄帶變體(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。

相關問題