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

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

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

现在平台主要是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测试下看下效果如何。

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

ios与android设备即时语音互通的录音格式预研说明的更多相关文章

  1. 关于ios 和 android 录音(语音)对聊文件格式问题

    关于ios 和 android 录音(语音)对聊文件格式问题 在做语音对讲的时候,将会碰到录制语音格式的问题,这些需要跨平台我们可能需要使用双方平台都支持的格式,或者执行编码转换 解决方式如下: wa ...

  2. 基于IOS和Android设备MDM技术方案服务价格

    导读:前段时间 www.mbaike.net 博客被恶意攻击,导致程序崩溃,目前已经替换了以前的Wordpress程序,现提供IOS和Android版本MDM的代码和相关文档咨询服务. 一.IOS版M ...

  3. cocos2d-x项目过程记录(ios和android设备的适配)

    (原创作品,欢迎转载,注明出处,谢谢:http://www.cnblogs.com/binxindoudou/admin/EditPosts.aspx?postid=3213645) 1.原理分析的博 ...

  4. 在ios android设备上使用 Protobuf (使用dll方式)

    http://game.ceeger.com/forum/read.php?tid=13479 如果你的工程可以以.Net 2.0 subset模式运行,请看这个帖子中的方法. 地址:http://g ...

  5. 适用于 iOS、Android 和 Windows 设备的移动设备管理

    适用于 iOS.Android 和 Windows 设备的移动设备管理 随着企业环境中移动设备的数量不断增加,详细检查访问您企业资源的移动设备变得至关重要.统一终端管理软件 Desktop Centr ...

  6. (转)在ios android设备上使用 Protobuf (使用dll方式)

    自:http://game.ceeger.com/forum/read.php?tid=13479 如果你的工程可以以.Net 2.0 subset模式运行,请看这个帖子中的方法. 地址:http:/ ...

  7. Chrome Apps将可以打包成iOS或Android应用

    Chrome Apps 将可以在 iOS 和 Android 设备上独立运行了.开发者只要使用 Google今天 提供的工具集(toolchain)将自己的 Web App 打包,并将生成的应用上传到 ...

  8. H5跟ios、android交互跟数据对接

    需求: APP要用H5页面做展示,而且要获取到对应的商品ID,用户点击H5页面跳回APP原生页面. 方法: 先要判断用户是ios还是android设备(这里只考虑ios跟android,因为它俩写法还 ...

  9. 微软云平台媒体服务实践系列 1- 使用静态封装为iOS, Android 设备实现点播(VoD)方案

    微软的云平台媒体服务为流媒体服务提供了多种选择,在使用流媒体服务为企业做流媒体方案时,首先需要确认要流媒体接收目标,如针对广大iOS, Android移动设备,由于它们都支持HLS 格式的流媒体,基于 ...

随机推荐

  1. SElinux(转)

    转自:http://www.361way.com/rh134-selinux/4653.html RH134小结(四)初识SElinux 2015年8月2日admin发表评论阅读评论   一.SEli ...

  2. python接口自动化(接口基础)

    一.什么是接口? 前端负责展示和收集数据 后端负责处理数据,返回对应的结果 接口是前端与后端之间的桥梁,传递数据的通道 二.

  3. 利用msbuild白名单执行shellcode

    x64:C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe x32:C:\Windows\Microsoft.NET\Framewo ...

  4. Linux sed命令实现替换文本内容

    /root/data/code-s3201/publish_codex/deploy/db.properties db.properties中的 1.0.0.6 替换为 1.0.0.7 sed -i ...

  5. mac NTFS 关于错误-36,rm Input/output error

    当传输文件时出现Mac错误代码36 当我向一个U盘或存储卡里传输文件时,出现了Mac Error Code36,我该如何解决? Mac,传输文件,错误代码36,U盘,卡片 Mac OS X Snow ...

  6. Linux 常用命令:文本查看篇

    前言 Linux常用命令中,除了cat还有很多其他用于文本查看的命令.本文将简单介绍一下这些文本查看的命令. 全文本显示--cat cat可能是常用的一个文本查看命令了,使用方法也很简单: cat f ...

  7. python_django_models模块中的查询

    查询集:表示从数据库获取的对象集合,查询集可以有多个过滤器,过滤器就是一个函数(方法),基于所给参数限制查询集结果 从sql角度来说,查询集和select等价,过滤器和where等价 查询集特点: 惰 ...

  8. Linux 指令查询帮助

    man +指令名 例子: man rename

  9. Allegro文档错误之:Iangle 命令

    Allegro绘制弧线时,可以使用add rarc命令,或者菜单栏里 Add|Arc w/Radius. 使用该命令时,需要输入3个参数: 1,圆心坐标:如 x –0.3 –0.8 2,半径,以及起始 ...

  10. CSS案例3(在线教育网站)

    案例练习目的是总结以前的css和html 还有ps的使用. 制作步骤: 准备相关文件.(内部样式表) html文件(index.html) 图片文件 准备CSS 初始化. 书写结构和样式 确定版心(是 ...