Системный звук игнорирует уровень громкости

StackOverflow https://stackoverflow.com/questions/5478345

  •  14-11-2019
  •  | 
  •  

Вопрос

Я работаю над игрой.И у меня проблема со звуком.

Я использую системные звуки, чтобы подтвердить игроку, когда он нажимает кнопку.Эти звуки соответствуют громкости, установленной плеером, когда воспроизводятся другие звуки (я использую AVAudioPlayerпесок AudioQueueс).Но когда системный звук предназначен только для воспроизведения, он игнорирует громкость, установленную плеером, и воспроизводится с громкостью звонка.

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

Это было полезно?

Решение

Как ваши игроки (я предполагаю, вы имеете в виду людей, играющих в игру) настраивают громкость — с помощью регулятора громкости устройства или через интерфейс вашего приложения?Если второе, то это не сработает, так как системные звуки всегда должны воспроизводиться на громкости устройства.

Согласно Руководство по мультимедийному программированию, «Звуки воспроизводятся с текущей громкостью системы, программная регулировка громкости недоступна».

Я не знаю, почему ваши системные звуки меняют громкость при воспроизведении звука AVAudioPlayer.Если это так, можете ли вы зациклить тихий звук с помощью AVAudioPlayer, когда вы не воспроизводите другие звуки?В противном случае я бы попробовал воспроизвести все звуки с помощью AVAudioPlayer, чтобы вы могли напрямую контролировать громкость.

Другие советы

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

У меня была такая же проблема с тем, чтобы SystemSound уважал кнопки громкости, но я обнаружил настройку в «Настройки»/«Звуки»/«Звонок и оповещения»/«Изменить с помощью кнопок», которая по умолчанию была «ВЫКЛ.».Переключение на «ВКЛ» помогло.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top