Δευτέρα, 14 Ιανουαρίου 2013

ios - play a click sound when button pressed


1. insert frameworks (MediaPlayer, AVFoundation, AudioToolbox)

2. in .h file

#import <UIKit/UIKit.h>
#import <AVFoundation/AVFoundation.h>
@property (nonatomic, strong) AVAudioPlayer *audioPlayer;
@interface PKAPliromesViewController : UIViewController <AVAudioPlayerDelegate>{...}

- (void) playSoundwithFileName: (NSString *) filename  fileType:(NSString *) fileType;


3. in. m file
- (void) playSoundwithFileName: (NSString *) filename  fileType:(NSString *) fileType
{
    dispatch_queue_t dispatchQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
    
    dispatch_async(dispatchQueue, ^(void)
                   {
                       NSBundle * mainBundle = [NSBundle mainBundle];
                       NSString * filePath = [mainBundle pathForResource:filename ofType:fileType];
                       NSData * fileData = [NSData dataWithContentsOfFile:filePath];
                       NSError *error = nil;
                       
                       //start the audio player
                       self.audioPlayer = [[AVAudioPlayer alloc] initWithData:fileData error:&error];
                       
                       /* did we bet an instance of AVAudioPlayer? */
                       if (self.audioPlayer != nil){
                           //set the delegate and start playing
                           self.audioPlayer.delegate = self;
                           if ([self.audioPlayer prepareToPlay] && [self.audioPlayer play])
                           {
                               //sucessfully started play
                           }
                           else{
                               //failed to play
                           }
                       }
                       else
                       {
                           //failed to instatitate avaudioplayer;
                       }
                   }
                   ); //END DISPATCH_ASYNC
    
    

}



Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου