2015-12-08 4 views
3

Я должен воспроизводить звук уведомления в своем приложении, когда кто-то вызывает пользователя. Когда я добавляю приложение в минимизированное состояние, push-уведомление отображается с настраиваемым звуком, который я назначил ему. Но когда мое приложение находится на переднем плане, тот же уровень громкости не соответствует уровню звука звонка. Я использовал аудио услуги для воспроизведения звука, когда приложение находится на переднем плане. Но есть разница в уровнях громкости звука уведомления и том же звуке, воспроизводимом звуковой службой.Уровень громкости удаленных уведомлений отличается от звука, воспроизводимого в приложении.

ответ

0

Я решил эту проблему, используя AudioServicesPlayAlertSound играть SystemSound. То, что я сделал неправильно, было методом, который использовался для игры SystemSound. Для воспроизведения можно использовать два метода: SystemSound i.e AudioServicesPlaySystemSound и AudioServicesPlayAlertSound. Я использовал AudioServicesPlaySystemSound, который не соответствует уровню громкости, который используется удаленным уведомлением. Итак, теперь я использую AudioServicesPlayAlertSound, который воспроизводит звук на том же уровне, что и Remote Notification.

0

Вы совершенно правы, есть разница между этими двумя. И вот сделка. Уровень звука удаленного уведомления зависит от уровня громкости звонка и оповещения. Хотя, с другой стороны, звук, записанный в приложении, зависит от уровня громкости музыки и звука.

Примечание: Если вы хотите воспроизвести звук на уровне громкости «Рингера и оповещения», вы можете использовать AudioToolbox framework и воспроизводить звук системы/предупреждения (но имейте в виду, что это будет воспроизводить только короткие звуки до 30 секунд)

Вот Яблоко Docs для него: https://developer.apple.com/library/prerelease/ios/documentation/AudioToolbox/Reference/SystemSoundServicesReference/index.html#//apple_ref/c/func/AudioServicesPlayAlertSound

+0

Спасибо за ответ .. На самом деле я уже решил это, но не успел обновиться здесь. Как вы уже сказали, я уже использовал SystemSound для воспроизведения пользовательского звука. Но то, что я сделал неправильно, было методом, который использовался для игры в SystemSound. Для воспроизведения SystemSound i.e AudioServicesPlaySystemSound и AudioServicesPlayAlertSound можно использовать два метода. Я использовал AudioServicesPlaySystemSound, который не соответствует уровню громкости, который используется Remote Notification. Итак, теперь я использую AudioServicesPlayAlertSound, который воспроизводит звук на том же уровне, что и Remote Notification. –

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