#objective-c #cocoa-touch #avsystemcontroller
#objective-c #cocoa-touch #avsystemcontroller
Вопрос:
Я отключаю звонок iPhone с помощью AVSystemController, но я не знаю, как определить текущий уровень звонка. Есть идеи?
PS Да, я знаю, что использование AVSystemController может привести к запрету приложения в App Store. Это не проблема.
Комментарии:
1. [NSNotificationCenter defaultCenter] больше не отправляет уведомление AVSystemController_SystemVolumeDidChangeNotification или любое другое уведомление в ответ на изменения громкости, поэтому, возможно, вы не можете.
Ответ №1:
Вы не можете изменить громкость устройства программно, однако MPVolumeView (регулятор громкости) позволяет изменять громкость устройства, но только через взаимодействие с пользователем, например, создать свой собственный слайдер и пометить его «громкостью» или что-то в этом роде.
MPVolumeView — это элемент управления в toolbox, вам нужно добавить MediaPlayer.framework в свой проект, тогда MPVolumeView будет отображаться в toolbox в interface builder. MPVolumeView использует громкость устройства, включая громкость звонка. AVAudioPlayer предназначен только для громкости на уровне приложений.
Кроме того, есть небольшая вещь, которую вы можете сделать:
musicPlayer = [[MPMusicPlayerController iPodMusicPlayer];
musicPlayer.volume = 1; // device volume will be changed to maximum value
Надеюсь, это поможет.