iPhone подкласс звуков - PullRequest
       8

iPhone подкласс звуков

0 голосов
/ 27 августа 2011

Обновление! Исправлена! Теперь это работает! Используйте по своему желанию!

#import <Foundation/Foundation.h>
#import "AVFoundation/AVAudioPlayer.h"

@interface SoundsClass : NSObject <AVAudioPlayerDelegate> {


AVAudioPlayer *buttonClick;
AVAudioPlayer *slide;
AVAudioPlayer *Cellpush;
AVAudioPlayer *pop;
AVAudioPlayer *tick;
AVAudioPlayer *done;
AVAudioPlayer *swoosh;


}


@property (nonatomic, retain) AVAudioPlayer *buttonClick;
@property (nonatomic, retain) AVAudioPlayer *slide;
@property (nonatomic, retain) AVAudioPlayer *Cellpush;
@property (nonatomic, retain) AVAudioPlayer *pop;
@property (nonatomic, retain) AVAudioPlayer *tick; 
@property (nonatomic, retain) AVAudioPlayer *done;
@property (nonatomic, retain) AVAudioPlayer *swoosh;




-(void)PlayButtonClick:(id)sender;

-(void)PlaySlide:(id)sender;

-(void)PlayCellPush:(id)sender;

-(void)PlayPop:(id)sender;

-(void)PlayTick:(id)sender;

-(void)PlayDone:(id)sender;

- (Недействительными) PlaySwoosh: (идентификатор) отправителя;

 @end




#import "SoundsClass.h"


@implementation SoundsClass

 @synthesize buttonClick, swoosh, slide, tick, done, Cellpush, pop;


-(void)dealloc{


[buttonClick release];
[swoosh release];
[slide release];
[tick release];
[done release];
[Cellpush release];
[pop release];
[super dealloc];
}




-(void)PlayButtonClick:(id)sender{


NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

if ([defaults boolForKey:@"appSounds"]) {    

    NSString *path = [[NSBundle mainBundle] pathForResource:@"button_click"    
ofType:@"caf"];
    self.buttonClick = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL 
fileURLWithPath:path] error:NULL];
    self.buttonClick.delegate = self;
    [self.buttonClick play];  

}    




}



-(void)PlaySlide:(id)sender{

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

if ([defaults boolForKey:@"appSounds"]) {    

    NSString *path = [[NSBundle mainBundle] pathForResource:@"popover_show" o   
fType:@"caf"];
    slide = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path]   
error:NULL];
    slide.delegate = self;
    [slide play];  

}       



}



-(void)PlayCellPush:(id)sender{

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

if ([defaults boolForKey:@"appSounds"]) {    

    NSString *path = [[NSBundle mainBundle] pathForResource:@"cell_swoosh"   
ofType:@"caf"];
    buttonClick = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL 
fileURLWithPath:path] error:NULL];
    buttonClick.delegate = self;
    [buttonClick play];  

}       



}



-(void)PlayPop:(id)sender{


NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

if ([defaults boolForKey:@"appSounds"]) {    

    NSString *path = [[NSBundle mainBundle] pathForResource:@"pop" ofType:@"caf"];
    buttonClick = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL   
fileURLWithPath:path] error:NULL];
    buttonClick.delegate = self;
    [buttonClick play];  

}       


}



-(void)PlayTick:(id)sender{

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

if ([defaults boolForKey:@"appSounds"]) {    

    NSString *path = [[NSBundle mainBundle] pathForResource:@"Tick" ofType:@"caf"];
    buttonClick = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL  
fileURLWithPath:path] error:NULL];
    buttonClick.delegate = self;
    [buttonClick play];  

}       

}



-(void)PlayDone:(id)sender{

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

if ([defaults boolForKey:@"appSounds"]) {    

    NSString *path = [[NSBundle mainBundle] pathForResource:@"Done" ofType:@"caf"];
    buttonClick = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL   
fileURLWithPath:path] error:NULL];
    buttonClick.delegate = self;
    [buttonClick play];  

}       


}




-(void)PlaySwoosh:(id)sender{

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

if ([defaults boolForKey:@"appSounds"]) {    

    NSString *path = [[NSBundle mainBundle] pathForResource:@"flip" ofType:@"caf"];
    buttonClick = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL 
fileURLWithPath:path] error:NULL];
    buttonClick.delegate = self;
    [buttonClick play];  

}       



}


@end

Когда вы хотите использовать класс, просто

#import "SoundsClass.h"

 @class SoundsClass;  

 SoundsClass *sounds;

 @property (nonatomic, retain) SoundsClass *sounds;

-(IBAction)openFolder:(id)sender;



-(IBAction)openFolder:(id)sender{


sounds = [[SoundsClass alloc] init];

[self.sounds PlayButtonClick:sender];

}

Это действительно просто, но работает с настройками по умолчанию, просто используйте переключатель и установите bool

...