// // SimpleAudioPlayer.h // // Created by Kender on 9/11/10. // #import #import typedef void(^CompletionBlockXXX)(BOOL); @interface AVAudioPlayerWithCompletionBlockXXX : AVAudioPlayer @property (nonatomic, copy) CompletionBlockXXX CompletionBlockXXX; @end @interface SimpleAudioPlayer : NSObject { NSMutableSet *players; } + (SimpleAudioPlayer *)shared; /* The method + (AVAudioPlayer *) playFile:(NSString *)name volume:(CGFloat)vol loops:(NSInteger)loops withCompletionBlockXXX:(CompletionBlockXXX)completion; the loops parameter works like this: any negative number - sound keeps playing in a loop over and over 0, 1 - sound is played once 2, 3, etc - sound is played twice, 3 times, etc-times :) */ + (AVAudioPlayer *) playFile:(NSString *)name volume:(CGFloat)vol loops:(NSInteger)loops withCompletionBlockXXX:(CompletionBlockXXX)completion; /* The methods below just call the playFile: volume: loops: withCompletionBlockXXX: */ + (AVAudioPlayer *)playFile:(NSString *)name; + (AVAudioPlayer *)playFile:(NSString *)name volume:(CGFloat)vol loops:(NSInteger)loops; + (AVAudioPlayer *) playFile:(NSString *)name withCompletionBlockXXX:(CompletionBlockXXX)completion ; + (AVAudioPlayer *) playLoopedFile:(NSString *) name; + (void)stopPlayer:(AVAudioPlayer *)player; + (void)stopAllPlayers; + (void) playFiles:(NSArray *) filesList withCompletionBlockXXX:(CompletionBlockXXX) completion; @end