1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- //
- // MessageSoundEffect.m
- //
- // Created by Jesse Squires on 2/15/13.
- // Copyright (c) 2013 Hexed Bits. All rights reserved.
- //
- //
- // The MIT License
- // Copyright (c) 2013 Jesse Squires
- //
- // Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
- // associated documentation files (the "Software"), to deal in the Software without restriction, including
- // without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- // copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the
- // following conditions:
- //
- // The above copyright notice and this permission notice shall be included in
- // all copies or substantial portions of the Software.
- //
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
- // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
- // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
- // OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- //
- #import "MessageSoundEffect.h"
- @interface MessageSoundEffect ()
- + (void)playSoundWithName:(NSString *)name type:(NSString *)type;
- @end
- static BOOL isPlaying = NO;
- @implementation MessageSoundEffect
- +(void)initialize
- {
- [super initialize];
- isPlaying = NO;
- }
- static void completionCallback (SystemSoundID mySSID, void *clientData) {
- // Play again after sound play completion
- isPlaying = NO;
- }
- + (void)playSoundWithName:(NSString *)name type:(NSString *)type
- {
- if (!isPlaying) {
- NSString *path = [[NSBundle mainBundle] pathForResource:name ofType:type];
-
- if([[NSFileManager defaultManager] fileExistsAtPath:path]) {
- NSURL *url = [NSURL fileURLWithPath:path];
- isPlaying = YES;
- SystemSoundID sound;
- AudioServicesCreateSystemSoundID((__bridge CFURLRef)url, &sound);
- AudioServicesAddSystemSoundCompletion (sound, NULL, NULL,
- completionCallback,
- (__bridge void*) self);
- AudioServicesPlaySystemSound(sound);
- // if ([name isEqualToString:@"messageReceived"]) {
- // AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
- // }
- }
- else {
- NSLog(@"**** Sound Error: file not found: %@", path);
- }
- }
- }
- + (void)playMessageReceivedSound
- {
- [MessageSoundEffect playSoundWithName:@"messageReceived" type:@"aiff"];
- }
- + (void)playMessageSentSound
- {
- [MessageSoundEffect playSoundWithName:@"messageSent" type:@"aiff"];
- }
- @end
|