iPhone應用輕松使用AVAudioPlayer音頻播放


一直在做iboxpay(深圳盒子支付公司)音頻通訊接口部分,所以發幾個音頻播放。呵呵!!

 

 

出處:http://mobile.51cto.com/iphone-280473.htm

iPhone應用輕松使用AVAudioPlayer音頻播放是本文要介紹的內容,iPhone SDK中的AVFoundation框架包括的AVAudioPlayer是一個容易使用而且功能強大,基於Object-c的播放音頻文件播放器。本教程展示了怎樣使用AVAudioPlayer。本教程將建立一個簡單的程序,它能夠循環播放一段mp3音頻文件。

 

創建項目

  1. Launch Xcode and create a new View-Based iPhone application called AudioPlayer: 

啟動Xcode並創建一個“View-Based iPhone application”項目,取名為AudioPlayer:

1.從Xcode菜單選擇“File > New Project …”

2.從“iPhone OS > Application”部分選擇“View-based Application”,然后按“Choose…”

3.將項目命名為“AudioPlayer”並按“Save”
    
添加AVFoundation框架

為使用SDK的AVAudioPlayer類,我們需要將AVFoundation框架加入項目:

1.在項目的“Groups & Files”面板上,展開“Targets”

2.Control+點擊或右擊AudioPlayer

3.選擇“Add > Existing Frameworks…”

4.點擊Linked Libraries下左下方的+按鈕

5.選擇“AVFoundation Framework“並按Add

6.“AVFoundation framewoks”將出現在“Linked Libraries”下,關閉窗口
 
下面,我們將引入AVFoundation的頭文件

1.展開項目“Group & Files”面板下AudioPlayer項目

2.打開Classes文件夾

3.選取AudioPlayerViewController.h進行編輯

4.更改文件。更改以下粗體字部分:

  1.  #import <UIKit/UIKit.h> 
  2. #import <AVFoundation/AVFoundation.h> 
  3.  
  4. @interface AudioPlayerViewController :  UIViewController   
  5. {  
  6.     AVAudioPlayer  *audioPlayer;  
  7. }  
  8. @end  

添加音頻文件

我們需要一段音頻文件來進行播放。文件為audiofie.mp3。我們將其加入項目中:

按Control再左擊或右擊項目的“Group & Files”面板中的“Resources”文件夾

從上下文菜單中選取“Add > Existing Files…”

找到並選擇要導入的音頻文件,按“Add”

(有必要的話)選定“Copy items into destination group’s folder”方框並按“Add”

開始播放音頻

我們在ViewDidLoad中啟動音頻播放:

1.解除ViewDidLoad方法的注解

2.更改如下,見粗體部分:

  1. - (void)viewDidLoad  
  2.  
  3.    [super  viewDidLoad];  
  4.  
  5.    NSURL  *url = [NSURL fileURLWithPath:[NSString    
  6.        stringWithFormat:@"%@/audiofile.mp3",  [[NSBundle mainBundle]  resourcePath]]];  
  7.    NSError  *error;  
  8.    audioPlayer  = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];  
  9.    audioPlayer.numberOfLoops  = -1;  
  10.    if  (audioPlayer == nil)  
  11.        NSLog([error  description]);  
  12.    else  
  13.         [audioPlayer  play];  

AVAudioPlayer是通過URL初始化的,所以我們首先要創立一個指向資源文件夾中音頻文件的URL。將音頻播放器的numberOfLoops屬性設為負數使得播放無限循環。配置好音頻播放器后,我們向播放器對象發送播放消息來啟動播放。

記住在dealloc方法中釋放audioPlayer。改變見粗體部分:

  1. - (void)dealloc   
  2.  
  3.    [audioPlayer  release];  
  4.    [super  dealloc];  
  5.  }  

更多功能

你可以調節播放器音量,查看/設定播放的時間,暫停或停止播放:

  1. audioPlayer.volume = 0.5; // 0.0 - no  volume; 1.0 full volume   
  2. NSLog(@"%f seconds played so  far", audioPlayer.currentTime);  
  3. audioPlayer.currentTime = 10; // jump to  the 10 second mark  
  4. [audioPlayer pause];  
  5. [audioPlayer stop]; // Does not reset currentTime; sending play resumes  

最后,你還可以實現AVAudioPlayer Delegate協議,比如說,在音頻播放結束時得到通知,這樣你有可能移動到播放列表的下一首歌。

小結:iPhone應用輕松使用AVAudioPlayer音頻播放的內容介紹完了,希望本文對你有所幫助。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM