前言
在实际的开发中,关于音频的传输上,iOS与Android的通用性一直是一个不可回避的问题。下面记录下比较好的解决方案。
现状
- 苹果的音频格式安卓全不支持。
- 安卓的音频格式,苹果基本也不支持
解决方案
- 安卓和iOS方面都把音频格式转化为 .mp3格式
对于这个解决方法一定要提醒一下,不是把文件的格式名称修改为 .mp3 就OK的,一定要是 mp3点编码格式,遇到过一个安卓开发人员 文件的输出格式是 3pg
3GP格式是一些少数采用手机芯片的3GP所支持的视频格式。3GP是一种类似MP4文件格式,广泛应用于手机视频的一种文件格式,3GP是MP4格式的一种简化版本,减少了储存空间和较低的频宽需求。
而文件的格式后缀是 .mp3,结果iOS这边一直无法播放,而且打开把该文件在服务器上的路径粘到浏览器中也是无法识别和播放的。
.amr 格式的苹果这边也是无法播放的。
mpeg_4 输出格式的文件苹果这边也是无法播放的。
两边都使用 libmp3lame 进行编码不会出现问题,也有些同学反应 安卓那边无法把pcm 格式的音频文件转化为 mp3 格式的,我只想说可以使用 libmp3lame 试试,网上能找到资源
- 安卓方不做处理,iOS端 Wav 转 amr 给安卓使用,把安卓的amr 转化为 wav 给自己使用
由于安卓那边的录音默认的保存格式就是 amr,而苹果这边也可以把音频文件输出为 wav格式进行保存,所有只要 iOS端 Wav文件 转 amr 格式给安卓使用,把安卓的amr 文件转化为 wav格式 给自己使用即可解决iOS与Android的音频文件互通问题。
关于iOS与Android的视频文件互通的问题,MP4格式的即可解决。
关于wav和amr 格式互转,可以参考这个dome,喜欢请 star一下