郑州iOS培训优秀开发案例学习


2016-04-21 20:30:10   100次查看   信息编号:20181442039  举报该信息
15838221845 河南郑州移动
联系时,请一定说明在找啥有看到的,谢谢!见面最安全,发现问题请举报。

服务内容:

地区:郑州

QQ号:



详情介绍:

【郑州iOS培训】跟着蓝鸥老学员的脚步一起学习音频?框架
AVFoundation是苹果的现代媒体框架,它包含了一些不同的用途的 API 和不同层级的抽象。其中有一些是现代 Objective-C 对于底层 C 语言接口的封装。
除了少数的例外情况,AVFoundation可以同时在 iOS 和 OS X 中使用。
AVAudioSession是用于 iOS 系统中协调应用程序之间的音频播放的 API 的。例如,当有电话打进来时,音频的播放就会被暂停;在用户启动电影时,音乐的播放就会停止。
我们需要使用这些 API 来确保一个应用程序能够正确响应并处理这类事件.
AVAudioPlayer 这个高层级的 API 为你提供一个简单的接口,用来播放本地或者内存中的音频。
这是一个无界面的音频播放器 (也就是说没有提供 UI 元素),使用起来也很直接简单。
它不适用于网络音频流或者低延迟的实时音频播放。如果这些问题都不需要担心,那么AVAudioPlayer可能就是正确的选择。
音频播放器的 API 也为我们带来了一些额外的功能,比如循环播放、获取音频的音量强度等等。
AVAudioRecorder 作为与AVAudioPlayer相对应的 API,AVAudioRecorder是将音频录制为文件的简单的方法。
除了用一个音量计接受音量的峰值和平均值以外,这个 API 简单粗暴,但要是你的使用场景很简单的话,这可能恰恰就是你想要的方法。
AVPlayer与上面提到的 API 相比,提供了更多的灵活性和可控性。它基于AVPlayerItem和AVAsset,为你提供了颗粒度更细的权限来获取资源,比如选择指定的音轨。
它还通过AVQueuePlayer子类支持播放列表,而且你可以控制这些资源是否能够通过 AirPlay 发送。
与AVAudioPlayer主要的区别是,AVPlayer对来自网络的流媒体资源的 “开箱即用” 支持。
这增加了处理播放状态的复杂性,但是你可以使用 KVO 来观测所有的状态参数来解决这个问题。
AVAudioEngine是播放和录制的 Objective-C 接口。它提供了以前需要深入到 Audio Toolbox 框架的 C API 才能做的控制 (例如一些实时音频任务)。
该音频引擎 API 对底层的 API 建立了优秀的接口。如果你不得不处理底层的问题,你仍然可以使用 Audio Toolbox 框架。
这个 API 的基本概念是建立一个音频的节点图,从源节点 (播放器和麦克风) 以及过处理 (overprocessing) 节点 (混音器和效果器) 到目标节点 (硬件输出)。
每一个节点都具有一定数量的输入和输出总线,同时这些总线也有良好定义的数据格式。这种结构使得它非常的灵活和强大。而且它集成了音频单元 (audio unit)。
Audio Unit 框架是一个底层的 API;所有 iOS 中的音频技术都构建在 Audio Unit 这个框架之上。音频单元是用来加工音频数据的插件。
一个音频单元链叫做音频处理图。
如果你需要非常低的延迟 (如 VoIP 或合成乐器)、回声消除、混音或者音调均衡的话,你可能需要直接使用音频单元,或者自己写一个音频单元。
但是其中的大部分工作可以使用AVAudioEngine的 API 来完成。如果你不得不写自己的音频单元的话,你可以将它们与AVAudioUnit节点一起集成在AVAudioEngine处理图中。
Audio Unit 的 API 可以在 iOS 中进行跨应用音频。音频流 (和 MIDI 命令) 可以在应用程序之间发送。
比如说:一个应用程序可以提供音频的效果器或者滤波器。另一个应用程序可以将它的音频发送到第一个应用程序中,并使用其中的音频效果器处理音频。
被过滤的音频又会被实时地发送回原来的应用程序中。 CoreAudioKit 提供了一个简单的跨应用程序的音频界面。
OpenAL是一个跨平台的 API。它提供了位置 (3D) 和低延迟的音频服务。它主要用于跨平台游戏的开发。
它有意地模仿了 OpenGL 中 API 的风格。
在 iOS 上,Core MIDI 和 CoreAudioKit 可以被用来使应用程序表现为 MIDI 设备。
在 OS X 上,Music Sequencing 服务提供了基于 MIDI 的控制和对音乐数据访问的权限。Core MIDI 服务为服务器和驱动程序提供了支持。
在 OS X 中,基本的音频接口就是NSBeep(),它能够简单地播放系统中的声音。
NSSound类为 OS X 提供了用于播放声音的简单接口,与 iOS 中的AVAudioPlayer在概念上基本类似。
所有的通知 API,包括 iOS 中的本地通知或者推送通知、OS X 中的NSUserNotification以及 CloudKit 通知,都可以播放声音。
Audio Toolbox 框架是强大的,但是它的层级却非常的低。在过去,它基于 C++ 所编写,但是其大多数的功能现在都可以通过AVFoundation实现。
QTKit 和 QuickTime 框架现在已经过时了,它们不应该被用在以后的开发中。我们应该使用AVFoundation(和 AVKit) 来代替它们。
QQ:2290909800 QQ交流群:493076664;97682894;咨询电话(Phone): (手机)
地址(Address): 郑州市高新区莲花街牡丹路教育科技产业园区B座 网址(website):
本页链接: http://zhengzhou.zhaoshayou.com/diannaopeixun/1442039.html
更多该用户的信息该栏目的其他信息
小贴士:本页信息由用户及第三方发布,真实性、合法性由发布人负责。详情请阅读找啥有免责条款
用户: 君达 认证: 身份还未认证 手机还未认证 邮箱还未认证




备案号:鲁ICP备99999999号-9  | 网站地图  | 增值电信业务经营许可证:鲁B2-88888888

中国互联网举报中心      安全联盟行业验证      国家企业信用信息公示      可信网站身份验证