【问题标题】:What is the smallest audio type for AVAudioRecorderAVAudioRecorder 的最小音频类型是什么
【发布时间】:2015-03-07 11:26:25
【问题描述】:

我使用的是 Objective-c 和 Xcode 6.1.1。

我想用 AVAudioRecorder 录制一些音频。 首先我搜索了所有支持的音频类型,发现了这个:

 1. AAC
 2. ALAC //Bigger then AAC
 3. IMA4
 4. ILBC //For voice recorder (not suitable for me personally )
 5. ULAW //For voice recorder (not suitable for me personally )
 6. PCM  //Uncompressed (thus will be bigger)

LINK

现在我在网上搜索并找到了一些关于“无损”之类的东西,但对于其余部分,我在声音、BPM、比特率等方面完全是个菜鸟。

问题:以上 6 个中哪一个可以是相同音频的最小文件大小?

问题:.caf 是一个容器,但 Apple 在该容器中使用的是什么?

(质量下降一点没问题)

更新:

  1. 据此LINK AAC 小于 ALAC。
  2. 我想录制的不仅仅是语音,所以 ILBC 不是一个选项LINK
  3. PCM 似乎是未压缩的,并且很可能比其余的更大LINK
  4. ULAW(我刚刚学到的μ-定律;))也适用于语音LINK

在第 4 点的链接中,我想我得到了最终答案:

所以要选择您的数据格式,这里有几个规则 一般适用:

  1. 如果空间不是问题,只需使用线性 PCM 对所有内容进行编码。这不仅是播放音频的最快方式,而且 您可以同时播放多个声音而不会遇到任何声音 CPU 资源问题。

  2. 如果空间是个问题,您很可能会想要 为您的背景音乐使用 AAC 编码,为您的背景音乐使用 IMA4 编码 你的音效。

以上都正确吗?

【问题讨论】:

    标签: ios swift audio avaudiorecorder


    【解决方案1】:

    MPEG 4 AAC 是 iOS 设备上压缩音频的最佳选择。 它支持硬件编解码器(MPEG 4 AAC LC)。

    很遗憾,最节省空间的 VBR 模式目前不可用。 (文档说相反,但实际上AVAudioRecorder 仅以恒定比特率记录。我通过联系付费支持解决了这个问题)。 我相信你应该从 96KBps 比特率开始,如果不够,那就增加它。

    我的录音设置(Swift):

    [
    AVFormatIDKey : kAudioFormatMPEG4AAC as NSNumber,
    AVSampleRateKey : AVAudioSession.sharedInstance().sampleRate as NSNumber,
    AVNumberOfChannelsKey : 1 as NSNumber,
    AVEncoderBitRatePerChannelKey : kBpsBitrate * 1_000 as NSNumber,
    AVEncoderAudioQualityKey: AVAudioQuality.High.rawValue as NSNumber
    ]
    

    【讨论】:

    • 好的,谢谢!我不明白你的最后一句话?我应该在哪里设置 96KBps。
    • @user3892683 AVAudioRecorder 需要录音设置,它是字典。您将在那里设置比特率。
    • @Shmidt 我应该把 96 放在 kBpsBitrate 的位置吗?
    猜你喜欢
    • 2019-06-16
    • 1970-01-01
    • 2020-10-14
    • 2010-10-10
    • 2012-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-14
    相关资源
    最近更新 更多