iphone 开发最简单的播放音频声音文件

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导入。




      

 将音频文件放入资源文件夹中





下面我开始介绍代码中如何调用
AVAudioPlayer 播放音频文件

 
声明类
[java] view plain copy
  1.   
  2. #import <UIKit/UIKit.h>  
  3. #import <AVFoundation/AVFoundation.h>  
  4. @interface playSoundViewController : UIViewController {  
  5.       
  6.     IBOutlet UIButton * playSound;//播放音乐    
  7.     IBOutlet UIButton * playPause;//播放暂停    
  8.     IBOutlet UIButton * playStop;//播放停止    
  9.     //定义一个声音的播放器  
  10.     AVAudioPlayer *player;  
  11. }  
  12.   
  13. -(IBAction)playSoundPressed:(id)pressed;  
  14. -(IBAction)playPausePressed:(id)pressed;  
  15. -(IBAction)playStopPressed:(id)pressed;  
  16. @end  

实现类
[java] view plain copy
  1.   
  2. #import "playSoundViewController.h"  
  3.   
  4. @implementation playSoundViewController  
  5.   
  6. - (void)dealloc  
  7. {  
  8.     [super dealloc];  
  9.     //程序的严谨性 在显示对象关闭后把相应的对象清空  
  10.     //时刻谨记  
  11.     [playSound release];  
  12.     [player release];  
  13. }  
  14.   
  15. - (void)didReceiveMemoryWarning  
  16. {  
  17.     // Releases the view if it doesn't have a superview.  
  18.     [super didReceiveMemoryWarning];  
  19.       
  20.     // Release any cached data, images, etc that aren't in use.  
  21. }  
  22.   
  23. #pragma mark - View lifecycle  
  24.   
  25.   
  26. // Implement viewDidLoad to do additional setup after loading the view, typically from a nib.  
  27. - (void)viewDidLoad  
  28. {  
  29.     [super viewDidLoad];  
  30.     //在这里实现声音的播放代码  
  31.     //找到mp3在资源库中的路径 文件名称为sound 类型为mp3  
  32.     NSString *path = [[NSBundle mainBundle] pathForResource:@"sound" ofType:@"mp3"];  
  33.     //在这里判断以下是否能找到这个音乐文件  
  34.     if (path) {  
  35.         //从path路径中 加载播放器  
  36.         player = [[AVAudioPlayer alloc]initWithContentsOfURL:[[NSURL alloc]initFileURLWithPath:path]error:nil];  
  37.         //初始化播放器  
  38.         [player prepareToPlay];  
  39.           
  40.         //设置播放循环次数,如果numberOfLoops为负数 音频文件就会一直循环播放下去  
  41.         player.numberOfLoops = -1;  
  42.           
  43.         //设置音频音量 volume的取值范围在 0.0为最小 0.1为最大 可以根据自己的情况而设置  
  44.         player.volume = 0.5f;  
  45.           
  46.         NSLog(@"播放加载");  
  47.     }  
  48.       
  49. }  
  50.   
  51. -(void)playSoundPressed:(id)pressed  
  52. {  
  53.     //点击按钮后开始播放音乐  
  54.     //当player有值的情况下并且没有在播放中 开始播放音乐  
  55.     if (player)   
  56.     {  
  57.         if (![player isPlaying])   
  58.         {  
  59.             [player play];  
  60.             NSLog(@"播放开始");  
  61.         }  
  62.     }  
  63. }  
  64.   
  65. -(void)playPausePressed:(id)pressed  
  66. {  
  67.     //暂停播放声音  
  68.     if (player) {  
  69.         if ([player isPlaying]) {  
  70.             [player pause];  
  71.             NSLog(@"播放暂停");  
  72.         }  
  73.     }  
  74. }  
  75.   
  76. -(void)playStopPressed:(id)pressed  
  77. {  
  78.     //停止播放声音  
  79.     if (player) {  
  80.         if ([player isPlaying]) {  
  81.             [player stop];  
  82.             NSLog(@"播放停止");  
  83.         }  
  84.     }  
  85. }  
  86.   
  87.   
  88. - (void)viewDidUnload  
  89. {  
  90.     [super viewDidUnload];  
  91.     // Release any retained subviews of the main view.  
  92.     // e.g. self.myOutlet = nil;  
  93. }  
  94.   
  95. - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation  
  96. {  
  97.     // Return YES for supported orientations  
  98.     return (interfaceOrientation == UIInterfaceOrientationPortrait);  
  99. }  
  100.   
  101. @end 

你可能感兴趣的:(职场,iPhone,应用开发,休闲,音频播放)