最有效的方式来格式化大量的audio文件

我目前正在开发一个应用程序,将包含大量的audio,大约60-120分钟。 大多数语音audio文件。 我的问题真的是什么是最好的方式来存储他们。 例如,一个单一的大文件,独立的audio文件,下载所需的caching文件。

任何关于文件格式的build议?

这些是由iPhone硬件解码的audio格式 ,应该占用最less的电力。

其他iPhone OSaudio格式采用硬件编解码器进行播放。 这些格式是:

  • AAC
  • ALAC(Apple Lossless)
  • MP3

是否将audio与应用程序分开或单独使用取决于使用情况。 如果您可以合理地期望用户按顺序浏览资料,您可能希望允许用户逐个下载或stream式传输audio,以节省设备上的空间,而如果audio更随机, d可能想要所有的设备上。

包括苹果自己的一些应用程序似乎使用开源的speex编解码器来压缩audio质量的audio,尽pipe这似乎不被硬件或任何公共API所支持。

Joachimbuild议您可以selectAAC / ALAC / MP3audio格式。 我现在build议的是从用户体验的angular度来考虑问题:

  1. 将您的所有audio转换为具有满足您和潜在用户的高质量选项的所选格式。
  2. 接下来,计算所有文件的大小,然后问自己一个问题:“X兆字节太多,无法捆绑我的types的应用程序? 和“这个大/小应用程序包是否会鼓励用户下载我的应用程序?”。
  3. 可以select播放质量选项缩小文件(迭代)。
  4. 在下一步中,根据您的应用程序特性决定是否捆绑所有文件。 例如,一个游戏预计将有所有的文件,并可以是大的(用户接受)。 如果您的应用程序只有例如podcasts,那么select最好的一个并捆绑它 – 一旦用户被挂钩,他可以下载其余的(让用户触发),所以文件存储在设备上。 同时向用户提供他们要下载多less数据,如果文件相当大,并且不在Wi-Fi上, 或引入仅在Wi-Fi上下载的选项。

我希望这听起来合理。

对于音乐来说,以下的方法会有很大的不同。

由于它只是声音,大多数情况下可以显着降低采样率。 尝试[8kHz … 20kHz]。

如果他们是多渠道 – 单声道应该是好的声音。

一旦完成,我build议AAC的尺寸和质量平衡。

在你的设备上做一些听力testing。 调整设置,如果需要的话。 然后批处理/转换它们。 如果来源是16 / 44.1,这可以减less10或更多。

除非他们的文件非常小(例如每秒)或者你必须快速打开并阅读其中的很多文件,否则我不会打扰这个庞大的文件。 几MB在许多情况下是一个好的尺寸。