In the documentation I see several frameworks for audio. All of them seem to be targeted at playing and recording audio. So I wonder what the big differences are between these?
在文档中,我看到了几个音频框架。所有这些似乎都是针对播放和录音的。所以我想知道这些之间有什么大的区别?
Audio Toolbox, Audio Unit, AV Foundation, and Core Audio. Or did I miss a guide that gives a good overview of all these?
音频工具箱,音频单元,音频基础,核心音频。还是我错过了一个能很好地概括所有这些的指南?
5 个解决方案
#1
38
Core Audio is the lowest-level of all the frameworks and also the oldest.
Core Audio是所有框架中最低级的,也是最老的。
Audio Toolbox is just above Core Audio and provides many different APIs that make it easier to deal with sound but still gives you a lot of control. There's ExtAudioFile, AudioConverter, and several other useful APIs.
Audio Toolbox只是在核心音频之上,提供了许多不同的api,使处理声音更容易,但仍然给你很大的控制。有ExtAudioFile、AudioConverter和其他一些有用的api。
Audio Unit is a framework for working with audio processing chains for both sampled audio data and MIDI. It's where the mixer and the various filters and effects such as reverb live.
音频单元是一个用于处理采样音频数据和MIDI的音频处理链的框架。它是混频器、各种过滤器和效果(如混响)存在的地方。
AV Foundation is a new and fairly high-level API for recording and playing audio on the iPhone OS. All of them are available on both OS X and iOS, though AV Foundation requires OS X 10.8+.
AV Foundation是一个全新的、相当高级的API,用于在iPhone OS上录制和播放音频。所有这些都可以在OS X和iOS中使用,但是AV基础需要OS X 10.8+。
#2
25
I made a brief graphical overview of Core Audio and the its (containing) frameworks:
我对Core Audio及其框架做了简要的图形化概述:
The framework closest to the hardware is Audio Unit. Based on that there is OpenAL and AudioToolbox with AudioQueue. On top you can find the Media Player and AVFoundation (Audio & Video) frameworks.
最接近硬件的框架是音频单元。在此基础上,有带AudioQueue的OpenAL和AudioToolbox。在上面你可以找到媒体播放器和AVFoundation(音频和视频)框架。
Now it depends on what you want to do: just a small recording, use AVFoundation, which is the most easiest one to use. (Media Player has no options for recording, it is - as the name says - just a media player.)
现在它取决于你想做什么:只是一个小录音,使用AVFoundation,这是最容易使用的。(媒体播放器没有可供录音的选择,正如它的名字所说——只是一个媒体播放器。)
Do you want to do serious real time signal processing? Use Audio Unit. But believe me, this is hardest way. :-)
你想做真正的实时信号处理吗?使用音频单元。但是相信我,这是最难的。:-)
With iOS 8.0 Apple introduced AVAudioEngine, an Objective-C/Swift based audio graph system in AV Foundation. This encapsulate some dirty C-stuff from Audio Units. Due to the complexity of Audio Unit it is maybe worth a look.
在iOS 8.0中,苹果推出了AVAudioEngine,这是一款基于Objective-C/Swift的AV Foundation音频图形系统。它封装了一些来自音频单元的脏东西。由于音频单元的复杂性,它可能值得一看。
Further readings in the Apple Documentation:
进一步阅读苹果文件:
- Core Audio Overview: Introduction
- 核心音频概述:介绍
- Multimedia Programming Guide
- 多媒体编程指南
- Audio & Video Starting Point
- 音频和视频起点
#3
7
Core Audio is not actually a framework, but an infrastructure that contains many different frameworks. Any audio that comes out of you iOS speaker is, in fact, managed by Core Audio.
Core Audio实际上并不是一个框架,而是一个包含许多不同框架的基础架构。任何来自iOS扬声器的音频实际上都是由Core audio管理的。
The lowest-level in Core Audio that you can get is by using Audio Units, which you can work with by using the AudioToolbox and the AudioUnit frameworks.
你能得到的最低级别的核心音频是通过使用音频单元,你可以使用AudioToolbox和AudioUnit框架。
The AudioToolbox framework also provides a bit higher level abstractions to deal with playing/recording of audio using AudioQueues, or managing various audio formats by using various Converter and File Services.
AudioToolbox框架还提供了更高级别的抽象,用于使用audioqueue处理音频的播放/录制,或者使用各种转换器和文件服务管理各种音频格式。
Finally, AV Foundation provides high level access to playing one specific file, and MediaPlayer gives you access (and playback) to your iPod library.
最后,AV Foundation提供了对播放特定文件的高级访问,MediaPlayer提供了对iPod库的访问(和回放)。
#4
4
This site has a short and excellent overview of core features the different API's: http://cocoawithlove.com/2011/03/history-of-ios-media-apis-iphone-os-20.html
这个网站对不同API的核心特性有一个简短而出色的概述:http://cocoawithlove.com/2011/03/历史性的ios-media- API -iphone-os-20.html
#5
1
Here you can find an overview of all iOS and OSX audio frameworks: https://developer.apple.com/library/ios/documentation/MusicAudio/Conceptual/CoreAudioOverview/WhatsinCoreAudio/WhatsinCoreAudio.html#//apple_ref/doc/uid/TP40003577-CH4-SW4
在这里您可以看到所有iOS和OSX音频框架的概述:https://developer.apple.com/library/ios/documentation/musicaudio/conceptual/coreaudiooverview/whatsincoreaudio/whatsincoreaudioo.html #/ apple_ref/doc/uid/TP40003577-CH4-SW4
#1
38
Core Audio is the lowest-level of all the frameworks and also the oldest.
Core Audio是所有框架中最低级的,也是最老的。
Audio Toolbox is just above Core Audio and provides many different APIs that make it easier to deal with sound but still gives you a lot of control. There's ExtAudioFile, AudioConverter, and several other useful APIs.
Audio Toolbox只是在核心音频之上,提供了许多不同的api,使处理声音更容易,但仍然给你很大的控制。有ExtAudioFile、AudioConverter和其他一些有用的api。
Audio Unit is a framework for working with audio processing chains for both sampled audio data and MIDI. It's where the mixer and the various filters and effects such as reverb live.
音频单元是一个用于处理采样音频数据和MIDI的音频处理链的框架。它是混频器、各种过滤器和效果(如混响)存在的地方。
AV Foundation is a new and fairly high-level API for recording and playing audio on the iPhone OS. All of them are available on both OS X and iOS, though AV Foundation requires OS X 10.8+.
AV Foundation是一个全新的、相当高级的API,用于在iPhone OS上录制和播放音频。所有这些都可以在OS X和iOS中使用,但是AV基础需要OS X 10.8+。
#2
25
I made a brief graphical overview of Core Audio and the its (containing) frameworks:
我对Core Audio及其框架做了简要的图形化概述:
The framework closest to the hardware is Audio Unit. Based on that there is OpenAL and AudioToolbox with AudioQueue. On top you can find the Media Player and AVFoundation (Audio & Video) frameworks.
最接近硬件的框架是音频单元。在此基础上,有带AudioQueue的OpenAL和AudioToolbox。在上面你可以找到媒体播放器和AVFoundation(音频和视频)框架。
Now it depends on what you want to do: just a small recording, use AVFoundation, which is the most easiest one to use. (Media Player has no options for recording, it is - as the name says - just a media player.)
现在它取决于你想做什么:只是一个小录音,使用AVFoundation,这是最容易使用的。(媒体播放器没有可供录音的选择,正如它的名字所说——只是一个媒体播放器。)
Do you want to do serious real time signal processing? Use Audio Unit. But believe me, this is hardest way. :-)
你想做真正的实时信号处理吗?使用音频单元。但是相信我,这是最难的。:-)
With iOS 8.0 Apple introduced AVAudioEngine, an Objective-C/Swift based audio graph system in AV Foundation. This encapsulate some dirty C-stuff from Audio Units. Due to the complexity of Audio Unit it is maybe worth a look.
在iOS 8.0中,苹果推出了AVAudioEngine,这是一款基于Objective-C/Swift的AV Foundation音频图形系统。它封装了一些来自音频单元的脏东西。由于音频单元的复杂性,它可能值得一看。
Further readings in the Apple Documentation:
进一步阅读苹果文件:
- Core Audio Overview: Introduction
- 核心音频概述:介绍
- Multimedia Programming Guide
- 多媒体编程指南
- Audio & Video Starting Point
- 音频和视频起点
#3
7
Core Audio is not actually a framework, but an infrastructure that contains many different frameworks. Any audio that comes out of you iOS speaker is, in fact, managed by Core Audio.
Core Audio实际上并不是一个框架,而是一个包含许多不同框架的基础架构。任何来自iOS扬声器的音频实际上都是由Core audio管理的。
The lowest-level in Core Audio that you can get is by using Audio Units, which you can work with by using the AudioToolbox and the AudioUnit frameworks.
你能得到的最低级别的核心音频是通过使用音频单元,你可以使用AudioToolbox和AudioUnit框架。
The AudioToolbox framework also provides a bit higher level abstractions to deal with playing/recording of audio using AudioQueues, or managing various audio formats by using various Converter and File Services.
AudioToolbox框架还提供了更高级别的抽象,用于使用audioqueue处理音频的播放/录制,或者使用各种转换器和文件服务管理各种音频格式。
Finally, AV Foundation provides high level access to playing one specific file, and MediaPlayer gives you access (and playback) to your iPod library.
最后,AV Foundation提供了对播放特定文件的高级访问,MediaPlayer提供了对iPod库的访问(和回放)。
#4
4
This site has a short and excellent overview of core features the different API's: http://cocoawithlove.com/2011/03/history-of-ios-media-apis-iphone-os-20.html
这个网站对不同API的核心特性有一个简短而出色的概述:http://cocoawithlove.com/2011/03/历史性的ios-media- API -iphone-os-20.html
#5
1
Here you can find an overview of all iOS and OSX audio frameworks: https://developer.apple.com/library/ios/documentation/MusicAudio/Conceptual/CoreAudioOverview/WhatsinCoreAudio/WhatsinCoreAudio.html#//apple_ref/doc/uid/TP40003577-CH4-SW4
在这里您可以看到所有iOS和OSX音频框架的概述:https://developer.apple.com/library/ios/documentation/musicaudio/conceptual/coreaudiooverview/whatsincoreaudio/whatsincoreaudioo.html #/ apple_ref/doc/uid/TP40003577-CH4-SW4