音频

n音频
 
n简介
n简单来说,音频可以分为2种
p音效
ü又称“短音频”,通常在程序中的播放时长为1~2秒
ü在应用程序中起到点缀效果,提升整体用户体验

 

p音乐
ü比如游戏中的“背景音乐”,一般播放时间较长
ü
n播放音频需要用到的框架
pAVFoundation.framework
n音效的播放

// 1.获得音效文件的路径

NSURL *url = [[NSBundle mainBundle] URLForResource:@"m_03.wav" withExtension:nil];

 

// 2.加载音效文件,得到对应的音效ID

SystemSoundID soundID = 0;

AudioServicesCreateSystemSoundID((__bridge CFURLRef)(url), &soundID);

 

// 3.播放音效

AudioServicesPlaySystemSound(soundID);

 

n音效文件只需要加载1次
n音效的播放
n音效播放常见函数总结
p加载音效文件

AudioServicesCreateSystemSoundID(CFURLRef inFileURL, SystemSoundID *outSystemSoundID)

 

p释放音效资源

AudioServicesDisposeSystemSoundID(SystemSoundID inSystemSoundID)

p
p播放音效

AudioServicesPlaySystemSound(SystemSoundID inSystemSoundID)

 

p播放音效带点震动

AudioServicesPlayAlertSound(SystemSoundID inSystemSoundID)

 

n音效格式
n声音和音效小结——音频转换工具
n转换aiff格式
pafconvert -f AIFF -d I8 filename

 

n转换caf格式
pafconvert -f caff -d aac -b 32000 filename

 

n批量转换
pfind . -name '*.mp3' -exec afconvert -f caff -d aac -b 32000 {} \;
n
n
n音乐的播放
n音乐播放用到一个叫做AVAudioPlayer的类
n
nAVAudioPlayer常用方法
p加载音乐文件
ü- (id)initWithContentsOfURL:(NSURL *)url error:(NSError **)outError;
ü- (id)initWithData:(NSData *)data error:(NSError **)outError;
ü
p准备播放(缓冲,提高播放的流畅性)
ü- (BOOL)prepareToPlay;

 

p播放(异步播放)
ü- (BOOL)play;
n音乐的播放
p暂停
ü- (void)pause;
ü
p停止
ü- (void)stop;
ü
p是否正在播放
ü@property(readonly, getter=isPlaying) BOOL playing;
ü
p时长
ü@property(readonly) NSTimeInterval duration;
ü
p当前的播放位置
ü@property NSTimeInterval currentTime;
n音乐的播放
p播放次数(-1代表无限循环播放,其他代表播放numberOfLoops+1次)
ü@property NSInteger numberOfLoops;
ü
p音量
ü@property float volume;

 

p是否允许更改速率
ü@property BOOL enableRate;
ü
p播放速率(1是正常速率,0.5是一般速率,2是双倍速率)
ü@property float rate;

 

p有多少个声道
ü@property(readonly) NSUInteger numberOfChannels;
ü
n
posted @ 2015-10-18 00:39  穿山甲随笔-iOS开发  阅读(165)  评论(0编辑  收藏  举报