fb_license

技術標籤

@selector (1) 初使化區塊 (1) 物件 (1) 物件導向 (2) 型別 (4) 封裝 (1) 流程控制 (1) 陣列 (3) 推論型別 (2) 實機測試 (1) 蓋索林(gasolin) (1) 模組 (1) 憑證 (1) 轉型 (1) 羅康鴻 (121) 類別 (1) 變數 (5) Accelerometer (1) ActiveRecord (1) Activity (1) AFNetworking (1) alloc (1) Android (3) Animation (1) App (1) App ID (1) APP上傳 (1) ASP.NET (1) AVAudioPlayer (1) block (1) C# (2) class (1) CLLocationManager (1) CLLocationManagerDelegate (1) CMMotionManager (4) Controller (1) delegate (1) DELETE語法 (1) Device Motion資料 (1) Dialog (1) DropDownList (1) dynamic language (2) Facebook SDK (9) FBRequest (5) FBRequestConnection (2) FMDB (1) Gesture Recognizers (6) GROUP BY (2) Gyro (1) HAVING (1) IBAction (1) IBOutlet (1) id (3) inheritance (1) init (1) Insert (1) instance variable (1) Interface Builder (1) iOS (70) iOS idea (7) iOS Introduction (1) Layout (1) Magnetometer (1) Menu (2) Method (2) MKMapView (1) MKPointAnnotation (1) MS SQL (5) Nil (1) NSArray (1) NSDictionary (1) NSError (1) NSFileManager & .plist (1) NSMutableArray (1) NSMutableDictionary (1) NSNotificationCenter (1) NULL (1) object (2) Objective-C (16) Objective-C idea (1) ORDER BY (1) Parameter (1) property (1) protocol (2) Provisioning (1) Proximate Sensor (1) Q and A (2) R類別 (1) Rails (9) RESTful SOA (9) Ruby (8) Scene (1) SEELECT (1) Segue (2) SEL (1) SELECT語法 (1) Shake (1) Simulator (1) SOA (8) SQL (6) SQL Server (5) SQL函數 (1) SQL彙總函數 SQL (1) SQLite (1) Storyboard (1) Style (1) Swift (1) Table (1) target & action (1) Theme (1) Toast (1) TRUNCATE TABLE語法 (1) UIActionSheet (1) UIActionSheetDelegate (1) UIActivityIndicatorView (1) UIAlertView (1) UIBarButtonItem (1) UIButton (1) UICollectionView (1) UICollectionViewDataSource (1) UIControl (9) UIDatePicker (1) UIImage (1) UIImagePickerController (2) UIImagePickerControllerDelegate (2) UIImageView (1) UILabel (1) UILongPressGestureRecognizer (1) UINavigationController (2) UIPanGestureRecognizer (1) UIPinchGestureRecognizer (1) UIProgressView (1) UIResponder (1) UIRotationGestureRecognizer (1) UISegmentedControl (1) UISlider (1) UIStepper (1) UISwipeGestureRecognizer (1) UISwitch (1) UITabBarController (1) UITableView (1) UITableViewDataSource (1) UITapGestureRecognizer (1) UITextField (1) UITextFieldDelegate (1) UITextView (2) UITextViewDelegate (1) UIToolBar (1) UIView (8) UIWebView (1) UPDATE語法 (1) var (2) VB.NET (7) View (4) WHERE子句 (1) XML (1)

2014/05/15

[iOS] 播放音樂 AVAudioPlayer


我是AVAudioPlayer,我可以播放多媒體檔,包含播放音樂檔MP3





第1步:建立一個名為"AVAudioPlayer"專案。


第2步:alice.mp3音樂檔

  • 加入alice.mp3檔至專案中
  • 並以Copy的方式複製一份至專案中





第3步:加入UIButton,並建立IBAction
  • 加入UIButton,Title設定為"播放"
  • UIButton並設立IBAction - playMusic


第4步:加入AVFoundation.framework


第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檔
ViewController.m
- (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



更多AVAudioPlayer的資訊: