现在,当用户按下按钮时,我会播放自定义相机快门声。
但是,如果可能的话,我宁愿使用默认播放的相机快门声,只要您使用iPhone拍照。
有没有办法可以访问并使用默认的iPhone相机快门声?如果是,那么它实际位于何处?
我需要找出它的文件路径,以便我可以将它与下面的代码一起使用,只需更改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];
感谢您的帮助。
答案 0 :(得分:30)
AudioServicesPlaySystemSound(1108);
基于: Are there any other iOS system sounds available other than 'tock'? 和 http://iphonedevwiki.net/index.php/AudioServices
2016年......
if #available(iOS 9.0, *) {
AudioServicesPlaySystemSoundWithCompletion(SystemSoundID(1108), nil)
} else {
AudioServicesPlaySystemSound(1108)
}
答案 1 :(得分:4)
看着stevesliva的回答对我很有帮助。但是,我最终得到了这个:
Unexpected type name 'SystemSoundID': expected expression
......使用这条线...
AudioServicesPlaySystemSoundWithCompletion(SystemSoundID(1108), nil);
所以,使用这段代码让我的应用程序播放相机快门噪音:
SystemSoundID soundID = 1108;
AudioServicesPlaySystemSoundWithCompletion(soundID, ^{
AudioServicesDisposeSystemSoundID(soundID);
});
希望这有助于某人。