首页 文章

所有这些音频框架之间有什么区别?

提问于
浏览
37

在文档中,我看到了几个音频框架。所有这些似乎都是针对播放和录制音频。所以我想知道这些之间的巨大差异是什么?

音频工具箱,音频单元,AV 基础和核心音频。或者我错过了一个能够很好地概述所有这些内容的指南?

5 回答

  • 42

    Core Audio 是所有框架的 lowest-level,也是最古老的框架。

    Audio Toolbox 就在 Core Audio 之上,提供了许多不同的 API,可以更轻松地处理声音,但仍然可以为您提供很多控制。有 ExtAudioFile,AudioConverter 和其他一些有用的 API。

    Audio Unit 是一个用于处理采样音频数据和 MIDI 的音频处理链的框架。它是混音器和混响等各种滤波器和效果的场所。

    AV Foundation 是一个新的,相当 high-level API,用于在 iPhone OS 上录制和播放音频。所有这些都可以在 OS X 和 iOS 上使用,但 AV Foundation 需要 OS X 10.8.

  • 37

    我对 Core Audio 及其(包含)框架进行了简要的图形概述:

    iOS 中的音频 API

    最接近硬件的框架是音频单元。基于此,有OpenALAudioToolboxAudioQueue。在顶部,您可以找到媒体播放器AVFoundation(音频和视频)框架。

    现在它取决于你想要做什么:只需一个小的录音,使用AVFoundation,这是最容易使用的。 (媒体播放器没有录制选项,正如名称所说 - 只是一个媒体 player.)

    你想做严肃的实时信号处理吗?使用音频单元。但请相信我,这是最难的方式。 :-)

    随着 iOS 8.0 Apple 推出了AVAudioEngine,这是 AV Foundation 中基于_3 的音频图形系统。这封装了一些来自 Audio Units 的脏 C-stuff。由于音频单元的复杂性,它可能值得一看。

    Apple 文档中的进一步阅读:

  • 7

    Core Audio 实际上不是一个框架,而是一个包含许多不同框架的基础架构。实际上,任何来自 iOS 扬声器的音频都是由 Core Audio 管理的。

    您可以通过使用音频单元获得 Core Audio 中的 lowest-level,您可以使用 AudioToolbox 和 AudioUnit 框架来处理它。

    AudioToolbox 框架还提供更高级别的抽象,以使用 AudioQueues 处理 playing/recording 音频,或使用各种转换器和文件服务管理各种音频格式。

    最后,AV Foundation 提供对播放一个特定文件的高级访问权限,MediaPlayer 允许您访问(和播放)iPod 库。

  • 5

    该网站简要概述了不同 API 的核心功能:http://cocoawithlove.com/2011/03/history-of-ios-media-apis-iphone-os-20.html

相关问题