播放音频声音文件
iphone开发中播放声音文件主要使用AVAudioPlayer 类,它的功能非常强大支持播放音频的格式也非常的多,我们可以把它看成一个高级的音乐播放器,它支持的播放格式有
■ AAC
■ AMR(AdaptiveMulti-Rate, aformatforspeech)
■ ALAC(AppleLossless)
■ iLBC(internetLowBitrateCodec, anotherformatforspeech)
■ IMA4(IMA/ADPCM)
■ linearPCM(uncompressed)
■ μ-lawanda-law
■ MP3(MPEG-1audiolayer3???????
今天主要介绍一下播放mp3 .?
?????? AVAudioPlayer 是 AVFoundation.framework 中定义的一个类,所以使用要先在工程中引入AVFoundation.framework 如图所示点击"+"号将AVFoundation导入。

#import <UIKit/UIKit.h>#import <AVFoundation/AVFoundation.h>@interface playSoundViewController : UIViewController { IBOutlet UIButton * playSound;//播放音乐 IBOutlet UIButton * playPause;//播放暂停 IBOutlet UIButton * playStop;//播放停止 //定义一个声音的播放器 AVAudioPlayer *player;}-(IBAction)playSoundPressed:(id)pressed;-(IBAction)playPausePressed:(id)pressed;-(IBAction)playStopPressed:(id)pressed;@end?@implementation playSoundViewController- (void)dealloc{ [super dealloc]; //程序的严谨性 在显示对象关闭后把相应的对象清空 //时刻谨记 [playSound release]; [player release];}- (void)didReceiveMemoryWarning{ // Releases the view if it doesn't have a superview. [super didReceiveMemoryWarning]; // Release any cached data, images, etc that aren't in use.}#pragma mark - View lifecycle// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.- (void)viewDidLoad{ [super viewDidLoad]; //在这里实现声音的播放代码 //找到mp3在资源库中的路径 文件名称为sound 类型为mp3 NSString *path = [[NSBundle mainBundle] pathForResource:@"sound" ofType:@"mp3"]; //在这里判断以下是否能找到这个音乐文件 if (path) { //从path路径中 加载播放器 player = [[AVAudioPlayer alloc]initWithContentsOfURL:[[NSURL alloc]initFileURLWithPath:path]error:nil]; //初始化播放器 [player prepareToPlay]; //设置播放循环次数,如果numberOfLoops为负数 音频文件就会一直循环播放下去 player.numberOfLoops = -1; //设置音频音量 volume的取值范围在 0.0为最小 0.1为最大 可以根据自己的情况而设置 player.volume = 0.5f; NSLog(@"播放加载"); } }-(void)playSoundPressed:(id)pressed{ //点击按钮后开始播放音乐 //当player有值的情况下并且没有在播放中 开始播放音乐 if (player) { if (![player isPlaying]) { [player play]; NSLog(@"播放开始"); } }}-(void)playPausePressed:(id)pressed{ //暂停播放声音 if (player) { if ([player isPlaying]) { [player pause]; NSLog(@"播放暂停"); } }}-(void)playStopPressed:(id)pressed{ //停止播放声音 if (player) { if ([player isPlaying]) { [player stop]; NSLog(@"播放停止"); } }}- (void)viewDidUnload{ [super viewDidUnload]; // Release any retained subviews of the main view. // e.g. self.myOutlet = nil;}- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{ // Return YES for supported orientations return (interfaceOrientation == UIInterfaceOrientationPortrait);}@end?