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.
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)
}
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.
来源:https://stackoverflow.com/questions/22850002/need-to-access-the-default-camera-shutter-sound-used-by-the-iphone