ios播放音乐

时间:2022-03-12 14:10:38

1、背景音乐播放    循环播放长音乐  支持mp3格式

#import <AVFoundation/AVFoundation.h>;

 NSString *musicFilePath = [[NSBundle mainBundle] pathForResource:@"changan" ofType:@"mp3"]; //创建音乐文件路径
NSURL *musicURL = [[NSURL alloc] initFileURLWithPath:musicFilePath]; AVAudioPlayer *thePlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:musicURL error:nil]; //创建播放器
self.myBackMusic = thePlayer; //赋值给自己定义的类变量 [musicURL release];
[thePlayer release]; [myBackMusic prepareToPlay];
[myBackMusic setVolume:]; //设置音量大小
myBackMusic.numberOfLoops = -;//设置音乐播放次数 -1为一直循环
[myBackMusic play]; //播放

2、音效播放        短声音

#import <AudioToolbox/AudioToolbox.h>

NSString *thesoundFilePath = [[NSBundle mainBundle] pathForResource:@"Clapping Crowd Studio 01" ofType:@"caf"]; //创建音乐文件路径
CFURLRef thesoundURL = (CFURLRef) [NSURL fileURLWithPath:thesoundFilePath];
AudioServicesCreateSystemSoundID(thesoundURL, &sameViewSoundID); //变量SoundID与URL对应
AudioServicesPlaySystemSound(sameViewSoundID); //播放SoundID声音

使用AudioToolbox framework。这个框架可以将比较短的声音注册到 system sound服务上。被注册到system sound服务上的声音称之为 system sounds。它必须满足下面几个条件。

1、 播放的时间不能超过30秒

2、数据必须是 PCM或者IMA4流格式

3、必须被打包成下面三个格式之一:Core Audio Format (.caf), Waveform audio (.wav), 或者 Audio Interchange File (.aiff)

声音文件必须放到设备的本地文件夹下面。通过AudioServicesCreateSystemSoundID方法注册这个声音文件,AudioServicesCreateSystemSoundID需要声音文件的url的CFURLRef对象。

另详见: http://www.cnblogs.com/zhuqil/archive/2011/07/23/2115021.html