iOS 音频开发之CoreAudio
来源:互联网 发布:机械姬 知乎 编辑:程序博客网 时间:2024/05/20 21:23
CoreAudio 的API结构分三层,如下图:
Low-Level层是关于硬件接口的API层,这个层次的API主要是提供给MAC用来编写需要实时性能音频处理的接口,一般的应用程序都不会使用这一层次的API,Core Audio为IOS这个移动平台提供了一个更高层次的API来处理实时音频,这个API更加紧凑,高效。
AudioConvert Services API
Audio File Services API 负责音频数据的读写
Audio Unit Services 和 Audio Processing Graph Services支持均衡器和混音器等数字信号处理的插件。
Audio File Scream Services 负责流解析
Core Audio Clock Services
High-Level层是一组从低层接口组合起来的高层应用,基本上我们很多关于音频开发的工作在这一层就可以完成
AVAudioPlayer是专为IOS平台提供的基于Objective-C接口的音频播放类,可以支持iOS所支持的所有音频的播放。
OpenAL是CoreAudio对OpenAL标准的实现,可以播放3D混音效果。
CoreAudio 的API并不是封装成一个单独的framework,它的接口散落到不同的framework,例如:
OpenAL.framework提供3D音效播放
CoreAudio在设计上主要采用属性对机制来管理和操作音频对象的状态和行为,我们在各个类中都能看这样的工作方式:
2、一个属性value 通常是一个特定的适合于描述该属性的数据类型,例如void*,aFloat64,一个AudioChannel
CoreAudio通过访问函数来获取Key对应的属性值,如果该属性值可写的话,还可以通过Key来修改key对应的属性,当然,CoreAudio也提供普通的接口来获取对象的值。例如通过kAudioSessionProperty_OverrideCategoryDefaultT
AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryDefaultT
CoreAudio接口提供一个回调机制在音频对象的某个属性变化时候通知你的应用程序,应用程序在使用AudioQueue类进行音乐播放的时候,实现这个回调函数,并且设置给AudioQueue对象,那么AudioQueue对象在执行完音频播放操作之后调用该函数。
typedef void
- iOS 音频开发之CoreAudio
- iOS 音频开发之CoreAudio
- iOS音频系列(二)--CoreAudio
- iOS 关于音频开发
- iOS开发之音频
- IOS 开发之音频播放
- iOS开发之 音频总结
- iOS-------------浅谈iOS开发之音频播放
- iOS开发实用技术之音频开发
- IOS开发之 ---- I…
- iOS开发之AVAudioPlayer 音频播放
- iOS开发之AVAudioPlayer 音频播放
- iOS开发之AVAudioPlayer 音频播放
- iOS开发之AVAudioPlayer 音频播放
- iOS开发之AVAudioPlayer 音频播放
- iOS开发之AVAudioPlayer 音频播放
- iOS开发之AVAudioPlayer 音频播放
- iOS开发之AVAudioPlayer 音频播放
- Mysql学习笔记(一)
- iOS开发UI篇—无限轮播(循环展示)…
- iOS开发UI篇—无限轮播(新闻数据展…
- asp.net 子页面关闭刷新父页面
- <转>iOS开发UI篇—无限轮播(…
- iOS 音频开发之CoreAudio
- ios layer的一些学习
- win8 sublime3 配置python 开发环境
- CAGradientLayer
- CAShapeLayer
- 第九周--数据结构--猴子选大王【数组】之一
- 深入探索 Java 热部署
- CAShapeLayer的一些使用
- 使用CAShapeLayer与UIBezier…