Using system Sound to play sounds

Posted by Shoaibi on Stack Overflow See other posts from Stack Overflow or by Shoaibi
Published on 2009-07-19T01:11:35Z Indexed on 2010/06/05 23:02 UTC
Read the original article Hit count: 264

Here is the code:

-(void)stop
{
    NSLog(@"Disposing Sounds");
    AudioServicesDisposeSystemSoundID (soundID);
    //AudioServicesRemoveSystemSoundCompletion (soundID);
}

static void completionCallback (SystemSoundID  mySSID, void* myself) {
    NSLog(@"completion Callback");
}
- (void) playall: (id) sender {

    [self stop];

    AudioServicesAddSystemSoundCompletion (soundID,NULL,NULL,
     completionCallback,
     (void*) self);


    OSStatus err = kAudioServicesNoError;
    NSString *aiffPath = [[NSBundle mainBundle] pathForResource:@"slide1" ofType:@"m4a"];
    NSURL *aiffURL = [NSURL fileURLWithPath:aiffPath];
    err = AudioServicesCreateSystemSoundID((CFURLRef) aiffURL, &soundID);
    AudioServicesPlaySystemSound (soundID);
    NSLog(@"Done Playing");
}

Output:

Disposing Sounds
Done Playing

In actual no sound gets play at all and completion call back isn't called as well. Any idea what could be wrong here? I want to stop any previous sound before playing current.

© Stack Overflow or respective owner

Related posts about iphone

Related posts about iphone-sdk-3.0