iOS开发-音效的使用

音频我们简易的分为两种,既音效和音频。

1.音效:是有声音制造而成,主要用于加强对于对声音的处理。在用户使用app的时候加入音效,无疑是用户体验的加分项。

2.音乐:音乐的播放时间一般比较长,比如游戏中无限循环的背景音乐。

我们在使用音频的时候需要用到两个框架

1.AVFoundation.framework

2.AudioToolbox.framework

由于AVFoundation比较强大这里就先介绍一下AudioToolbox框架

音效播放常见函数总结

//加载音效文件

AudioServicesCreateSystemSoundID(CFURLRef inFileURL, SystemSoundID *outSystemSoundID)

//释放音效资源

AudioServicesDisposeSystemSoundID(SystemSoundID inSystemSoundID)

//播放音效

AudioServicesPlaySystemSound(SystemSoundID inSystemSoundID)

//播放音效带点震动

AudioServicesPlayAlertSound(SystemSoundID inSystemSoundID)

使用时需要注意,为了到达省电的目的,硬件的解码只能对一个音频文件进行解码。

下面来介绍一下AVFoundation框架

音乐播放用到一个叫做AVAudioPlayer的类

AVAudioPlayer常用方法

//加载音乐文件

- (id)initWithContentsOfURL:(NSURL *)url error:(NSError **)outError;

- (id)initWithData:(NSData *)data error:(NSError **)outError;

//准备播放(缓冲,提高播放的流畅性)

- (BOOL)prepareToPlay;

//播放(异步播放)

- (BOOL)play;

//暂停

- (void)pause;

//停止

- (void)stop;

//是否正在播放

@property(readonly, getter=isPlaying) BOOL playing;

//时长

@property(readonly) NSTimeInterval duration;

//当前的播放位置

@property NSTimeInterval currentTime;

//播放次数(-1代表无限循环播放,其他代表播放numberOfLoops+1次)

@property NSInteger numberOfLoops;

//音量

@property float volume;

//是否允许更改速率

@property BOOL enableRate;

//播放速率(1是正常速率,0.5是一般速率,2是双倍速率)

@property float rate;

//有多少个声道

@property(readonly) NSUInteger numberOfChannels;

//声道(-1是左声道,1是右声道,0是中间)

@property float pan;

//是否允许测量音量

@property(getter=isMeteringEnabled) BOOL meteringEnabled;

//更新测量值

- (void)updateMeters;

//获得当前的平均音量

- (float)averagePowerForChannel:(NSUInteger)channelNumber;

AVFoundation.framework和AudioToolbox.framework的常用方法就是这些了

开发中具体怎样使用这两个框架比较好,就仁者见仁,智者见智了。

随着时代的前进,OC成为历史只是时间问题了。面对swift的强势来袭,起初国内的大牛们只是持观望状态,

但是随着swift2.0的到来,这种趋势已经势不可挡了。最为一名优秀的开发者,同时掌握多个开发语言是刚需。

最为一名优秀的iOS开发者,同时掌握OC和swift也是刚需。

时间: 2024-12-05 13:01:50

iOS开发-音效的使用的相关文章

iOS开发拓展篇—音效播放

iOS开发拓展篇—音效播放 一.简单介绍 简单来说,音频可以分为2种 (1)音效 又称“短音频”,通常在程序中的播放时长为1~2秒 在应用程序中起到点缀效果,提升整体用户体验 (2)音乐 比如游戏中的“背景音乐”,一般播放时间较长 框架:播放音频需要用到AVFoundation.framework框架 二.音效的播放 1.获得音效文件的路径 NSURL *url = [[NSBundle mainBundle] URLForResource:@"m_03.wav" withExtens

iOS开发拓展篇—音效的播放

iOS开发拓展篇—音效的播放 一.简单介绍 简单来说,音频可以分为2种 (1)音效 又称“短音频”,通常在程序中的播放时长为1~2秒 在应用程序中起到点缀效果,提升整体用户体验 (2)音乐 比如游戏中的“背景音乐”,一般播放时间较长 框架:播放音频需要用到AVFoundation.framework框架 二.音效的播放 1.获得音效文件的路径 NSURL *url = [[NSBundle mainBundle] URLForResource:@"m_03.wav" withExten

文顶顶iOS开发博客链接整理及部分项目源代码下载

文顶顶iOS开发博客链接整理及部分项目源代码下载 网上的iOS开发的教程很多,但是像cnblogs博主文顶顶的博客这样内容图文并茂,代码齐全,示例经典,原理也有阐述,覆盖面宽广,自成系统的系列教程却很难找.如果你是初学者,在学习了斯坦福iOS7公开课和跟着文顶顶的博客做项目之后,最快只需要2个月时间,就基本可以独立完成iOS App的开发工作.有经验的开发者也可以在该博客中寻找代码片段进行学习借鉴,必有所收获. 在此也向@文顶顶 表示严重感谢! 由于文顶顶博客博文繁多,每次找文章需要频繁的翻页,

iOS开发拓展篇—音乐的播放

iOS开发拓展篇—音乐的播放 一.简单说明 音乐播放用到一个叫做AVAudioPlayer的类,这个类可以用于播放手机本地的音乐文件. 注意: (1)该类(AVAudioPlayer)只能用于播放本地音频. (2)时间比较短的(称之为音效)使用AudioServicesCreateSystemSoundID来创建,而本地时间较长(称之为音乐)使用AVAudioPlayer类. 二.代码示例 AVAudioPlayer类依赖于AVFoundation框架,因此使用该类必须先导入AVFoundati

iOS开发系列--音频播放、录音、视频播放、拍照、视频录制

iOS开发系列--音频播放.录音.视频播放.拍照.视频录制 转载:http://www.cnblogs.com/kenshincui/p/4186022.html#avFoundationCamera --iOS多媒体 概览 随着移动互联网的发展,如今的手机早已不是打电话.发短信那么简单了,播放音乐.视频.录音.拍照等都是很常用的功能.在iOS中对于多媒体的支持是非常强大的,无论是音视频播放.录制,还是对麦克风.摄像头的操作都提供了多套API.在今天的文章中将会对这些内容进行一一介绍: 音频 音

iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角)

iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角) 2015-04-05 15:25 2482人阅读 评论(1) 收藏 举报开源框架 图像: 1.图片浏览控件MWPhotoBrowser       实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存.可对图片进行缩放等操作.      下载:https://github.com/mwaterfall/MWPhotoBrowser目前比较活跃的社区仍旧是Github,

iOS开发 非常全的三方库、插件、大牛博客等等

UI 下拉刷新 EGOTableViewPullRefresh- 最早的下拉刷新控件. SVPullToRefresh- 下拉刷新控件. MJRefresh- 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能.可以自定义上下拉刷新的文字说明.具体使用看"使用方法". (国人写) XHRefreshControl- XHRefreshControl 是一款高扩展性.低耦合度的下拉刷新.上提加载更多的组件.(国人写) CBStoreHo

iOS开发拓展篇—音频处理(音乐播放器3)

iOS开发拓展篇—音频处理(音乐播放器3) 说明:这篇文章主要介绍音频工具类和播放工具类的封装. 一.控制器间数据传递 1.两个控制器之间数据的传递 第一种方法:self.parentViewController.music=self.music[indexPath.row];不能满足 第二种做法:把整个数组传递给它 第三种做法:设置一个数据源,设置播放控制器的数据源是这个控制器.self.parentViewController.dataSource=self;好处:没有耦合性,任何实现了协议

iOS开发之资料收集

github排名:https://github.com/trending, github搜索:https://github.com/search. 此文章转自github:https://github.com/Tim9Liu9/TimLiu-iOS UI 下拉刷新 EGOTableViewPullRefresh- 最早的下拉刷新控件. SVPullToRefresh- 下拉刷新控件. MJRefresh- 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者

iOS开发-常用第三方开源框架介绍

iOS开发-常用第三方开源框架介绍 图像: 1.图片浏览控件MWPhotoBrowser 实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存.可对图片进行缩放等操作. 下载:https://github.com/mwaterfall/MWPhotoBrowser 目前比较活跃的社区仍旧是Github,除此以外也有一些不错的库散落在Google Code.SourceForge等地方.由于Github社区太过主流,这里主要介绍一下G