Question

Right now when a user presses a button I play a custom camera shutter sound.

However, if possible, I would much rather just use the camera shutter sound that plays by default whenever you take a photo using your iPhone.

Is there a way that I can access and use the default iPhone camera shutter sound? And if yes, then where is it actually located?

I need to figure out it's file path so that I can use it with the code below and just change the input for pathForResource:

NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:@"shutter" ofType: @"wav"];

    NSURL *fileURL = [[NSURL alloc] initFileURLWithPath:soundFilePath ];

    self.myAudioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:nil];

    [self.myAudioPlayer play];

Thanks for the help.

Was it helpful?

Solution

AudioServicesPlaySystemSound(1108);

Based on: Are there any other iOS system sounds available other than 'tock'? and http://iphonedevwiki.net/index.php/AudioServices

For 2016 ....

    if #available(iOS 9.0, *) {
        AudioServicesPlaySystemSoundWithCompletion(SystemSoundID(1108), nil)
    } else {
        AudioServicesPlaySystemSound(1108)
    }

OTHER TIPS

Looking at stevesliva's answer helped me greatly. However, I ended up with this:

Unexpected type name 'SystemSoundID': expected expression

... using this line...

AudioServicesPlaySystemSoundWithCompletion(SystemSoundID(1108), nil);

So, using this lump of code got my App playing the camera-shutter noise:

SystemSoundID soundID = 1108;

AudioServicesPlaySystemSoundWithCompletion(soundID, ^{
    AudioServicesDisposeSystemSoundID(soundID);
});

Hope this helps someone.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top