opencore框架可用于語音編碼與解碼逸邦,實(shí)現(xiàn)Android和ios語音互通,能實(shí)現(xiàn)類似微信語音對講功能弦蹂。andoird端可錄音Amr格式文件缀匕,Amr格式語音文件的優(yōu)勢是文件大小比wav等其他音頻格式文件小很多方便網(wǎng)絡(luò)傳輸與存儲,語音清晰度對于對講來說也能接受释树。
實(shí)現(xiàn)思路
手機(jī)端錄音->上傳音頻文件到服務(wù)器端->手機(jī)端下載音頻文件播放肠槽;具體實(shí)現(xiàn)代碼不在此處討論僅說明思路擎淤。
iPhone端
iPhone錄音不能直接錄音為Amr格式音頻,需要先錄音為wav格式秸仙,然后通過opencore框架將wav格式的音頻文件格式轉(zhuǎn)化為Amr格式音頻文件上傳到服務(wù)器端嘴拢。
iPhone播放在線音頻文件的時候也不能章節(jié)播放Amr格式需要將Amr格式文件通過opencore框架轉(zhuǎn)化為wav格式播放。
android端
android端錄音直接即可設(shè)置音頻文件格式為Amr寂纪,在線播放的時候也可直接播放席吴。
注意
部分android手機(jī)錄音Amr的時候可能不是標(biāo)準(zhǔn)的Amr文件頭部,iPhone在轉(zhuǎn)換的時候可能會出現(xiàn)轉(zhuǎn)換出來的wav文件無法播放捞蛋,所以需要處理一下孝冒。
附ios利用opencore轉(zhuǎn)換Amr格式音頻源碼 (已修改處理Amr文件頭部問題)
核心包下載:VoiceRecorder 地址 http://www.star-lai.cn/wp-content/uploads/2014/02/VoiceRecorder.zip
使用demo:player 地址 http://www.star-lai.cn/wp-content/uploads/2014/02/player.zip