Как сделать фотографию на событие увеличения громкости при использовании UIImagePickerController с пользовательскими элементами управления камерой?

В iOS 5 кнопка увеличения громкости теперь делает снимок в приложении камеры, а наUIImagePickerController экземпляр, где.showsCameraControlls == YES, Счастливые дни.

Тем не менее, когда я установилshowsCameraControlls вNOи поставьте свой собственный (который в свою очередь вызываетtakePicture метод), кнопка увеличения громкости больше не будет работать. Как я могу обнаружить событие громкости во время отображения UIImagePickerController?

Старый способ обнаружения изменений громкости был таким:

AudioSessionSetActive(true);
[[NSNotificationCenter defaultCenter]
   addObserver:self
   selector:@selector(volumeChanged:)
   name:@"AVSystemController_SystemVolumeDidChangeNotification"
   object:nil];

Я добавил этот код в мой делегат приложения. странноvolumeChanged: не срабатывает, пока я не покажуUIImagePickerController в первый раз. Что еще более важно, он не запускается, когда UIImagePickerController виден (и не показан обычный HUD тома), я полагаю, поскольку Apple отключила его и захватила событие.

Итак, еще раз, есть ли способ обнаружить событие кнопки увеличения громкости, в то время какUIImagePickerController отображается при использовании пользовательских элементов управления камерой, чтобы сделать фотографию?

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

Ответы на вопрос(2)

Ваш ответ на вопрос