通常为了便于市场推广和获得更高的下载量,产品安装包的体积是越小越好。那么问题来了,要如何才能做到使安装包的体积最小化呢。根据产品的组成成分,最终可以大概分为,代码,图片,视频,音频等这几部分,今天我们就以iOS平台为例从音频这块入手,看如何使安装包的体积最小化。

我们知道每个音频文件都是由两部分内容所构成:

[1].文件格式(或音频容器)

文件格式(或音频容器)是用于形容文件本身的格式。我们可以通过多种不同的方法为真正的音频数据编码。iPhone支持许多文件格式,包括MPEG-1(.mp3),MPEG-2 ADTS(.aac),AIFF,CAF以及WAVE。

[2]. (或音频编码)

  • AAC:AAC是指“高级音频编码”,可以说它MP3格式的延续。你可能会想这种格式将压缩最初的声音而保存在磁盘中,所以会降低原先声音的质量。但是通常情况下我们很难注意到质量的降低,并且这主要是取决于我们所设置的比特率。实际上AAC的压缩做得比MP3好多了,特别是在比特率低于每秒128千比特的情况下。
  • HE-AAC:HE-AAC是AAC的超集,HE表示“高效率”。HE-AAC是对于低比特率音频(如流式音频)的优化。
  • AMR:AMR代表“自适应多速率”,是语音优化的另一种编码优化格式,能够突出极低比特率音频。
  • ALAC:同样也被称为“Apple Lossless”,它是一种可以不破坏质量而压缩音频的编码。实际上它大概会压缩原始数据的40-60%。再加上算法是经过精心设计的,所以我们可以以较快的速度解压数据,这非常适合像iPod或iPhone等设备。
  • iLBC:这是另一种优化语音的编码,有益于IP语音和流媒体格式。
  • IMA4:这是一种压缩格式,将对16位体的音频文件进行4:1的压缩。这是面向iPhone设备的一种重要编码。
  • 线性PCM:这是表示线性脉冲编码调制,主要是描写用于将模拟声音数据转换成数字格式的技术。简单地说也就是未压缩的数据。因为数据是未压缩的,所以我们便可以最快速地播放出音频,而如果空间不是问题的话这便是iPhone音频的优先代码选择。
  • μ-law和a-law:这是两种交替式编码,能够将模拟数据转换成数字格式,但是比起线性PCM拥有更强的语音优化效果。
  • MP3:这是我们最熟悉也是最喜欢的一种格式。这么多年以来MP3仍是最受欢迎的一种格式,而iPhone也支持这种格式。

这么多种文件格式,与数据格式我们该选择哪种呢?通常情况下我们都会选择CAF,因为它能够同时包含所有iPhone所支持的编码(数据格式),并且它也是iPhone中的优先文件格式选择。

现在我们产品中用的都是MP3,如何方便快速的全部转换为CAF,苹果真的是太人性化了,早就为我们准备了三个内置命令行工具:afplay,afconvert以及afinfo,我们要用到的就是afconvert。当然我们还可以用iTunes来转换但是太麻烦了.

iTunes 操作:

  [1].进入iTunes偏好设置

  

  [2].进入导入设置

  

  [3].选择编辑器(AAC),并按需求进行比特率选择

  

  [4].转换音频

  

命令行工具 afconvert:

# test.mp3转换成test.caf 了,并设置了比特率位 57623 (56kbps) 
afconvert -d aac -f caff -b 57623 /User/XXX/test.mp3   /User/XXX/test.caf

一个个文件转换太麻烦了,有没更方便的,如直接把某个目录下的所有mp3 转化成 caf? 有的这就为你奉上。

#!/bin/shfunction scandir() {local cur_dir parent_dir workdirworkdir=$1cd ${workdir}if [ ${workdir} = "/" ]thencur_dir=""elsecur_dir=$(pwd)fifor dirlist in $(ls ${cur_dir})doif test -d ${dirlist};thencd ${dirlist}scandir ${cur_dir}/${dirlist}cd ..elsefile=${cur_dir}/${dirlist}# echo filefilename=${file%.*}suffix=${file##*.}if [ "${file##*.}" = "mp3" ]thenafconvert -d aac -f caff -b 57623 $file "$filename.caf"echo "${file}  --> caf 转换完成。。。"rm -rf "$file"elseecho '不是MP3文件'fifidone
}if test -d $1
thenscandir $1
elif test -f $1
thenecho "请输入一个文件..."exit 1
elseecho "该目录已经存在..."exit 1
fi

复制保存为xxx.sh,大功告成,只需在终端执行即可。

就这样子,一键无痛的将目录下地所有mp3 转换成 caf了。

本站文章为 宝宝巴士 SD.Team 原创,转载务必在明显处注明:(作者官方网站: 宝宝巴士 ) 
转载自【宝宝巴士SuperDo团队】 原文链接: http://www.cnblogs.com/superdo/p/4783380.html

转载于:https://www.cnblogs.com/superdo/p/4783380.html

[工具推荐]_iOS音频批量转换相关推荐

  1. python语音转文字软件_python编写语音转文字软件|语音转文字工具免费版下载(语音批量转换文字) v2.0 最新版_数码资源网...

    没有专业的工具怎么能够将语音转换为文字呢?小编为大家提供了语音转文字工具免费版,一款通过Python编写语音转文字软件.用户通过使用语音转文字工具免费版,可以将语音批量转换文字,而且操作也是非常的简单 ...

  2. linux mp4转h264工具,在Ubuntu下批量转换视频为H.264编码的mp4格式

    是目前比较流行的视频编码方式,比起MPEG2在画质大致相同的情况下能再压缩2-4倍,即如果一个DVD视频大小是1GB,用H264编码后能缩小到250MB左右,同时H264视频还能用时髦的浏览器(比如F ...

  3. Mac OS 下使用 afconvert 命令,处理音频格式转换

    在上一篇<Mac OS 下使用 you-get 下载音悦台 MV .网易云音乐等>给大家介绍了如何下载MV.音乐等资源,但是出现了一些不常见的音频格式,导致在有些播放器上无法解码播放,所以 ...

  4. 如何批量将Word转换成PDF?这几种方法都可以实现批量转换

    怎么把Word文档批量转换成PDF格式呢?我们在日常的工作学习中,经常会使用Word文档来编辑文件,把文件编辑好后在发送的时候一般都会选择PDF格式来发送,,因为这样我们编辑好的格式才不会混乱.当我们 ...

  5. 【强烈推荐】音频文件免费批量一键格式转换好工具——酷狗音乐

    简介: 最近买了一个U盘,想把偶像JAY的歌曲拷贝到U盘里面,放到车里听,类似车载U盘.但是我的歌曲格式是无损FLAC格式的,车载系统对FLAC格式的音乐兼容性不好,一首歌没听多久就解析失败放下一首了 ...

  6. 音频格式转换软件哪个好?推荐三个音频格式转换工具

    音频格式转换软件哪个好?推荐三个音频格式转换工具 音频格式是有很多种的,平时我们接触的基本都是几种常用的格式,但如果我们找到的或者接收到的音频格式是其他的非常用且无法兼容播放的音频格式,所以这时候使用 ...

  7. 有什么免费的视频格式转换工具推荐?

    日常工作或是生活中,我们经常会遇到视频格式不支持导致无法打开的情况.尤其是对于经常要剪辑视频的人来说,视频素材导入剪辑软件后发现无法识别,更是苦恼.这时就需要将视频转换成设备或者软件所支持的视频格式了 ...

  8. docx文档怎么排列图片_格式转换太麻烦?仅需一行命令,搞定图片、音频、视频、文本批量转换!...

    每天12:18准时给大家惊喜! 大家好!我是好奇仔,热衷于搜罗和分享各种好用.实用的软件神器和资源,有手机软件.办公软件.APP,还有网站资源-- 来自:芒种学院(ID:lazy_info)  作者: ...

  9. 让我来推荐几个WAV音频格式转换软件

    大家是否跟我一样对音频文件格式接触的比较多的是MP3和FLAC,然而某一天我在传输歌曲时发现了一首歌是WAV格式.了解后才发现原来WAV是微软开放的一种标准数字音频文件,这个格式能记录单声道或者立体声 ...

最新文章

  1. mxnet deepspeech网络结构打印
  2. 朴素贝叶斯算法应用实例
  3. java闭包矩阵_深刻理解Java闭包概念
  4. 【BOOM】一款有趣的Javascript动画效果
  5. 使用Spring Boot Actuator、Jolokia和Grafana实现准实时监控--转
  6. 如果故障选择了你……
  7. Struts2 常量配置
  8. C++ ofstream/ifstream读写文件demo
  9. springcloud与jdk版本问题
  10. 计算机SCV原理指什么,csv是什么文件格式?.csv文件怎么打开?
  11. Spring Boot中使用JUnit5进行单元测试
  12. cad修改快捷键_CAD快捷键,提高绘图速度
  13. [Steam]成就游戏销量乐观
  14. 无侵入式的mysql的binlog采集——maxwell采集binlog放到kafka中——成功!
  15. 【《视觉SLAM十四讲》前ch2-ch6实践全过程和遇到的问题及解决办法】
  16. Windows系统蓝屏代码分析
  17. LEETCODE838java
  18. 楼盘字典为什么能成为贝壳的超级护城河?
  19. 嵌入式C设计模式---状态机设计模式
  20. matlab怎么停止运行命令,MATLAB如何使用pause函数暂停程序运行

热门文章

  1. 我一路向北,寻找有你的季节
  2. 在线视频系统-EasyRTC入门
  3. 撕开大促活动内核:前、中、后期的完美操作
  4. unity3D摄像机跟随
  5. 如何将文件由PDF转换为JPG图片
  6. 愚人节导入_您是否发现了这些愚人节愚人节的插科打??
  7. Https丢包分析及底层原理解析
  8. SYN Flood攻击防范技术白皮书
  9. SAP PA 15模块资源下载
  10. 【C# 教程系列第 15 篇】抽象类与接口的区别