SimpleAudioPlayer.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. //
  2. // SimpleAudioPlayer.h
  3. //
  4. // Created by Kender on 9/11/10.
  5. //
  6. #import <Foundation/Foundation.h>
  7. #import <AVFoundation/AVFoundation.h>
  8. typedef void(^CompletionBlockXXX)(BOOL);
  9. @interface AVAudioPlayerWithCompletionBlockXXX : AVAudioPlayer
  10. @property (nonatomic, copy) CompletionBlockXXX CompletionBlockXXX;
  11. @end
  12. @interface SimpleAudioPlayer : NSObject <AVAudioPlayerDelegate> {
  13. NSMutableSet *players;
  14. }
  15. + (SimpleAudioPlayer *)shared;
  16. /*
  17. The method
  18. + (AVAudioPlayer *) playFile:(NSString *)name volume:(CGFloat)vol loops:(NSInteger)loops withCompletionBlockXXX:(CompletionBlockXXX)completion;
  19. the loops parameter works like this:
  20. any negative number - sound keeps playing in a loop over and over
  21. 0, 1 - sound is played once
  22. 2, 3, etc - sound is played twice, 3 times, etc-times :)
  23. */
  24. + (AVAudioPlayer *) playFile:(NSString *)name volume:(CGFloat)vol loops:(NSInteger)loops withCompletionBlockXXX:(CompletionBlockXXX)completion;
  25. /*
  26. The methods below just call the
  27. playFile: volume: loops: withCompletionBlockXXX:
  28. */
  29. + (AVAudioPlayer *)playFile:(NSString *)name;
  30. + (AVAudioPlayer *)playFile:(NSString *)name volume:(CGFloat)vol loops:(NSInteger)loops;
  31. + (AVAudioPlayer *) playFile:(NSString *)name withCompletionBlockXXX:(CompletionBlockXXX)completion ;
  32. + (AVAudioPlayer *) playLoopedFile:(NSString *) name;
  33. + (void)stopPlayer:(AVAudioPlayer *)player;
  34. + (void)stopAllPlayers;
  35. + (void) playFiles:(NSArray *) filesList withCompletionBlockXXX:(CompletionBlockXXX) completion;
  36. @end