Необходим доступ к звуку затвора камеры по умолчанию, используемому iPhone

Прямо сейчас, когда пользователь нажимает кнопку, я играю собственный звук затвора камеры.

Однако, если это возможно, я бы предпочел использовать звук затвора камеры, который воспроизводится по умолчанию всякий раз, когда вы делаете фотографию с помощью 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];

Спасибо за помощь.

Ответы на вопрос(2)

я закончил с этим:

Unexpected type name 'SystemSoundID': expected expression

... используя эту строку ...

AudioServicesPlaySystemSoundWithCompletion(SystemSoundID(1108), nil);

Итак, используя этот кусок кода, мое приложение воспроизводило шум затвора камеры:

SystemSoundID soundID = 1108;

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

Надеюсь, это кому-нибудь поможет.

 Leo Natan13 апр. 2019 г., 18:09
Это потому, что код, который вы цитировали, является Swift. Вы даже смотрели на ObjC / C API? Так должно бытьAudioServicesPlaySystemSoundWithCompletion((SystemSoundID)1108, nil);
 Leo Natan25 апр. 2019 г., 15:00
Ответ в Obj C, и был отредактирован с помощью Swift.
 Carl Hine24 апр. 2019 г., 17:38
ОП вопрос находится в Obj-C. Принятый ответ в Swift - я подумал, что это странно. Я добавил свой комментарий, надеясь, что мой фактический ответ Obj-C поможет кому-то.
Решение Вопроса
AudioServicesPlaySystemSound(1108);

Есть ли какие-либо другие системные звуки iOS, кроме 'tock'? а такжеhttp://iphonedevwiki.net/index.php/AudioServices

На 2016 год ....

    if #available(iOS 9.0, *) {
        AudioServicesPlaySystemSoundWithCompletion(SystemSoundID(1108), nil)
    } else {
        AudioServicesPlaySystemSound(1108)
    }
 user206702104 апр. 2016 г., 09:43
С iOS9,AudioServicesPlaySystemSoundWithCompletion предпочтительнее - заголовок комментария дляAudioServicesPlaySystemSound указать, что это будет устаревшим.

Ваш ответ на вопрос