2013-12-16 4 views
2

Я воспроизводя звук в моем приложении, используя следующий код:Как использовать громкость системы для моего звука?

NSString *soundFilePath = [NSString stringWithFormat:@"%@/samsung_whistle.mp3", [[NSBundle mainBundle] resourcePath]]; 
NSURL *soundFileURL = [NSURL fileURLWithPath:soundFilePath]; 
AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithContentsOfURL:soundFileURL error:nil]; 
player.numberOfLoops = 0; 
[player play]; 

Это, кажется, работает, но когда я установил громкость системы (с помощью аппаратных кнопок на устройстве) не оказывает никакого влияния на мой звук. Если я установил громкость до конца (так что устройство говорит «звучит выключено»), я все еще слышу, как звучит звук. И если я настрою громкость до конца, мой звук не будет звучать громче.

Я знаю, что я могу установить громкость звука моего с

player.volume = someFloatBetween0And1; 

Но это жёстко громкость. Как я могу получить объем звука в системе и установить его для моего звука, чтобы пользователи могли правильно отрегулировать их громкость?

+0

Звук системы - это универсальный звук. У вас нет контроля над этим. Но выход вашего приложения будет соответствовать системному времени. –

ответ

2

Объем, установленный на вашем проигрывателе и том системы, является независимым.

Это как когда вы смотрите фильм в своем любимом видеоплеере. Он имеет настраиваемый объем. Тем не менее, у вас есть системный том (возможно, в вашем системном трее), который можно установить независимо от с объема видеопроигрывателя.

Если громкость системы составляет 50%, а громкость вашего проигрывателя также составляет 50%, звук в 4 раза слабее, чем если бы они были на 100%.

Вывод: если ваш плеер установлен на уровне 100%, а громкость системы составляет 0%, тогда ... тишина. Это хороший вариант использования. Потому что, если приложения могут получить доступ к системному тому, когда я получаю телефонный звонок, мне нужно будет перейти к каждому приложению и получить уровень звука проклятия до 0: D

+0

Я бы понял, если это правда, но когда я установил громкость проигрывателя на 100%, а системный том на 0%, я все еще слышу его на 100% ..... – Kevin

+0

После удаления приложения с устройства и очистки моего проект, похоже, работает. Очень странно ... Во всяком случае, спасибо за объяснение, это действительно так, как вы говорите. – Kevin

Смежные вопросы