您的位置:首页 > 其它

NSTimer计时器和声音和音效的播放

2015-03-01 20:28 232 查看
NSTimer计时器

使用实例代码如下:

// 第一个参数:多长时间会触发一次,以秒为单位

// 第二个参数:如果看到函数的参数有target,一般情况下,都用self

// 第三个参数:SEL,需要调用其他的方法,就是每次时钟被触发的时候,去执行的方法

// 最多可以带一个参数,就是时钟本身

// 第四个参数,暂时不用考虑,设置成nil

// 第五个参数:是否重复,通常会设置YES

_gameTimer = [NSTimer scheduledTimerWithTimeInterval:1.0f target:self selector:@selector(updateTimer:) userInfo:nil repeats:YES];

在时钟触发方法中,可以使用sender.fireDate获取到时钟被触发的时间

注意:使用NSTimer的时候,千万不要忘记调用invalidate方法关闭时钟。

NSTimer可能不会是及时相应触发时间的,它的执行优先级相对较低,因此,不要使用NSTimer去做实时响应需求较高的周期性操作。


声音和音效的播放

声音

需要导入AVFoundation框架
需要从Bundle中加载文件,播放之前需要使用preparePlay方法,准备播放
可以设置声音的循环次数、音量大小
播放效率相对略低,但是可以播放较大的声音文件
导入AudioToolBox框架
使用C语言的函数直接将音频加载到内存,通过SystemSoundID进行播放
在播放的时候,不容易中断,也控制不了音量
播放效率高,通常使用不超过2秒的音频文件
为了避免同一个音效文件在不同视图控制器中被重复加载,造成无谓的内存消耗,在使用音效时,通常会用一个数据字典进行维护

音效

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: