Подтвердить что ты не робот

AudioServicesPlaySystemSound Volume?

У меня есть этот код:

-(void)createAndPlaySoundID: (NSString*)name 
{
    NSString *path = [NSString stringWithFormat: @"%@/%@", [[NSBundle mainBundle] resourcePath], name];

    NSURL* filePath = [NSURL fileURLWithPath: path isDirectory: NO];
    SystemSoundID soundID;
    AudioServicesCreateSystemSoundID((__bridge CFURLRef)filePath, &soundID);

    AudioServicesPlaySystemSound(soundID);
}

Я называю это так:

[self createAndPlaySoundID: @"mySound.caf"];

Это отлично работает, однако я не могу контролировать громкость. Я просто хочу, чтобы том контролировался пользователем, используя стандартные кнопки физического уровня на своем iPad.

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

Любая помощь будет оценена, учитывая это, спасибо.

4b9b3361

Ответ 1

У меня тоже была похожая проблема на эту тему.

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

В приложении "Настройки" в разделе

Общие > Звуки > Рингеры и оповещения

Если для параметра "Изменить с помощью кнопок" установлено значение Off, звуки с использованием AudioServicesPlaySystemSound() всегда будут воспроизводиться на полной громкости (однако другой звуковой API, такой как AVAudioPlayer, будет уважать громкость устройства).