• ios与android设备即时语音互通的录音格式预研说明


    本文虽属原创,但是内容都是来自于网络,参考了大家的微博,以及论坛的总结。

    在做语音对讲的时候,将会碰到录制语音格式的问题,因为要考虑自己开发设备的支持的格式,还要考虑其他设备操作系统的支持的格式,以及各自平台实现各格式的难易程度。

    以前公司做语音这部分,解决方式是通过本地录制一个语音文件,在服务器进行编解码转换。当然每个平台也是选择自己最合适的编码格式。

    现在平台主要是ios与android两个主流平台, wp的暂时没有考虑。

    主要的录制格式有,mp3, AAC, iLBC, Speex, amr这几种,每个格式都各有特点,iLBC, Speex, amr 录制的文件大小都挺小的,挺适合网络传输的。

    现将各录音格式的解决方式总结如下:

    mp3: ios,android录制都 需要进行编码转换,使用lame第三方库,播放应该都可以直接播放

    iLBC:ios支持编码解码, android 低版本不支持,不过有开源第三方库,可以进行录制编码,播放解码的处理

    Speex:也是开源的第三方库,声称文件小,能降噪,需要ios,android客户端都进行编码解码处理

    amr:ios 4.3之前的版本支持,以后版本都不支持amr格式,android设备支持该格式,采用这种格式,ios设备可用libOpenCore第三方库进行转换,播放时再进行解码成原始pcm进行播放。android设备可直接录制与播放

    aac:两系统应该都支持的格式,但有说android设备有支持的不够好。没做测试,具体情况未知。


    方案选择上,应该aac最方便,但是看网络上,好像讨论的对此不多,可能实际应用不是太广。其他的都各有千秋,可根据情况自己选择。具体实现,准备先采取mp3测试下看下效果如何。

       第三方库编解码过程中,有两种方式,可以直接录制成文件后,再进行转换,也可以原始数据边录边转换,最后保存文件。都需要实际检验下,看效果如何

  • 相关阅读:
    利用CSS3 中steps()制用动画
    移动WEB测试工具 Adobe Edge Inspect
    Grunt配置文件编写技巧及示范
    CSS3 box-shadow快速教程
    编写爬虫程序的神器
    node+express+jade搭建一个简单的"网站"
    node+express+ejs搭建一个简单的"页面"
    node的模块管理
    node的调试
    mongoDB的权限管理
  • 原文地址:https://www.cnblogs.com/zsw-1993/p/4879645.html
Copyright © 2020-2023  润新知