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

ios objective-c iphone-5 iphone-4 audiotoolbox

5947 просмотра

2 ответа

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

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

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

Автор: user3344977 Источник Размещён: 12.11.2019 09:25

Ответы (2)


33 плюса

Решение
AudioServicesPlaySystemSound(1108);

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

На 2016 год ....

    if #available(iOS 9.0, *) {
        AudioServicesPlaySystemSoundWithCompletion(SystemSoundID(1108), nil)
    } else {
        AudioServicesPlaySystemSound(1108)
    }
Автор: stevesliva Размещён: 04.04.2014 01:07

4 плюса

Мне очень помог взгляд на ответ Стивесливы. Тем не менее, я закончил с этим:

Unexpected type name 'SystemSoundID': expected expression

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

AudioServicesPlaySystemSoundWithCompletion(SystemSoundID(1108), nil);

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

SystemSoundID soundID = 1108;

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

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

Автор: Carl Hine Размещён: 02.03.2018 11:24
Вопросы из категории :
32x32