我是AVAudioPlayer,我可以播放多媒體檔,包含播放音樂檔MP3
第1步:建立一個名為"AVAudioPlayer"專案。
第2步:alice.mp3音樂檔
第3步:加入UIButton,並建立IBAction
- 加入UIButton,Title設定為"播放"
- 為UIButton並設立IBAction - playMusic
第5步:引用AVFoundation/AVFoundation.h
- ViewController.h檔中,實作協定UIImagePickerControllerDelegate
- 在此比較特別的是我們也會加上協定UINavigationControllerDelegate,原因是UIImagePickerController會以使用到Navigation的瀏覽模式,因此需加上,但在此範例我們不需要實作任何UINavigationControllerDelegate的方法
ViewController.h
#import <UIKit/UIKit.h>
#import <AVFoundation/AVFoundation.h>
@interface ViewController : UIViewController
- (IBAction)playMusic:(id)sender;
@end
第6步:播放音樂
- 於ViewController.h檔中,宣告AVAudioPlayer實體變數,以作為後續存放AVAudioPlayer物件之用
ViewController.h
@interface ViewController : UIViewController
{
AVAudioPlayer * player;
}
- (IBAction)playMusic:(id)sender;
@end
- 透過AVAudioPlayer實際播放alice.mp3檔
- (IBAction)playMusic:(id)sender {
//取得alice.mp3檔案的路徑
NSString * mp3Path = [[NSBundle mainBundle] pathForResource:@"alice" ofType:@"mp3"];
//載入alice.mp3至NSData物件中
NSData * mp3Data = [NSData dataWithContentsOfFile:mp3Path];
//建立AVAudioPlayer物件,
//同時將alice.mp3的資料檔交給AVAudioPlayer物件
player = [[AVAudioPlayer alloc] initWithData:mp3Data
error:nil];
//檢查是否可播放
if(player != nil && [player prepareToPlay] == YES)
{
//傳送play訊息,播放mp3
[player play];
}
}
第5步:執行
- 按下"播放",即可聽到音樂
檔案連結:AVAudioPlayer.zip