轉: ios與android語音互通方案,類微信

Ios實現amr編解碼

Feb 5th, 2012 android

介紹

學習ios第一個練手功能就是給已有產品加上語音通訊功能,可以互通ios與android。這裏給出本身的一些心得,但願能給他人一些參考。 ios

資料蒐集與參考

  1. 相似產品使用的技術 git

    • talkbox Android版用的是ilbc的第三方編解碼庫,在iPhone上用的是caf
    • 微信   Android版估計是amr估計轉碼的是交給騰訊強大的服務器了。
    • 米聊   Android版和Iphone版用的都是speex

    目前支持的開源第三方庫也就只有 ilbc和speex了 github

  2. 考慮採用的方案 服務器

    speex須要Android和ios都進入轉碼,工做量太大,不採用。剩下的方案就是在amr和ilbc上選擇了,android支持amr,低版本不支持ilbc, ios高版本(4.3)只支持ilbc,不能支持amr。剛開始的測試方案使用的是android將語音轉ilbc, 因爲我對於android開發不是太熟悉,在同事的幫助下一直沒有轉換成功,如今想一想多是處理問題,若是能轉換成或,這種方案應該是最方便的。 微信

ios實現amr編解碼

錄製

  1. 將語音錄成原始pcm碼 學習

    注意這裏,雖然錄製是pcm碼,但出來的文件ios依然會封裝一層,將其包裝成pcf格式。因此就有了第二步。 測試

  2. 將pcf中的pcm碼取出來 spa

  3. 使用libopencore庫將其編成amr格式,這時能夠發送給android端播放了。 utf-8

播放

  1. 將android版本發送過來的amr解碼出來

  2. 播放原始pcm便可

代碼文件都放在github上了,有須要的能夠參考一下。 https://github.com/hhuai/ios_util

相關文章
相關標籤/搜索